Dartstrømmer

Dartstrømmer
En strøm i DART -programmeringsspråket er definert som en serie asynkrone hendelser. Det er stort sett som den iterable datastrukturen. Imidlertid er hovedforskjellen mellom en strøm og en iterable at du i tilfelle av den siste Arrangementet er klart. Denne prosessen fortsetter til det ikke er flere hendelser igjen i strømmen som skal leses. Dartstrømmene ligner også rør der du setter inn en verdi fra den ene enden, og denne verdien blir lest av mottakeren i den andre enden. I denne opplæringen lærer vi den grunnleggende bruken av strømmene i DART -programmeringsspråket i Ubuntu 20.04.

Hvordan bruke strømmer i DART -programmeringsspråket i Ubuntu 20.04?

For å bruke strømmer i DART -programmeringsspråket effektivt, må du forstå følgende to eksempler som er implementert på en Ubuntu 20.04 System:

Eksempel 1: Opprette en Dart -strøm for beregning av summen av flere heltall

I dette eksemplet vil vi lage en pilstrøm som vil fortsette å lese heltall til de eksisterer, og så snart den leser en ny, vil den legge til det til de eksisterende. Denne prosessen vil fortsette til det ikke er ytterligere heltall igjen, hvoretter du vil kunne få summen av alle disse heltallene. Du vil kunne forstå det tydelig ved å gå gjennom Dart -skriptet vist på bildet nedenfor:

I dette eksemplet har vi først laget en heltall type "fremtid" jeg.e., Det er i stand til å returnere en heltallverdi som er "sum" i dette tilfellet. Vi har kalt denne fremtidige “SumStream.”Dette er i stand til å godta en strøm av heltall. Deretter har vi også brukt nøkkelordet "async" mens vi definerer denne fremtiden. Dette nøkkelordet brukes når du vil bruke "Await for" -løkken i et skript. Inne i denne fremtiden har vi laget en variabel med navnet "Sum" og initialisert den med "0" slik at den ikke inneholder noen søppelverdi.

Deretter har vi benyttet oss av "Await for" -sløyfen. Denne sløyfen vil fortsette å løpe så lenge det er flere elementer i heltallstrømmen. Denne sløyfen itererer i utgangspunktet over heltallstrømmen som har blitt overført til fremtiden vår. Inne i denne sløyfen beregner vi summen av alle verdiene til heltallstrømmen. Denne sløyfen vil gå i stykker når det ikke er ytterligere elementer igjen i strømmen, hvoretter denne fremtiden vil returnere "summen" til "Main ()" -funksjonen.

Deretter har vi erklært "Main ()" -funksjonen som har "fremtidens" returtype og har også brukt "async" -tnøkkelordet med erklæringen. Etter det har vi erklært og initialisert en strøm av fire forskjellige heltall innen driverfunksjonen vår. Deretter har vi opprettet en "sum" -variabel for å holde resultatet av "SumStream" fremtiden. Vi har kalt denne fremtiden med det "avvente" nøkkelordet mens vi sender heltallstrømmen til den. Til slutt har vi brukt en "utskrift" -uttalelse for å skrive ut resultatet av dette skriptet, jeg.e., summen av heltallstrømmen på terminalen.

For utførelsen av dette DART -skriptet har vi brukt den påfølgende kommandoen:

$ dart løpsstrømmer.Dart

Utgangen fra Dart -skriptet vårt, jeg.e., Summen av heltallstrømmen vår vises på bildet nedenfor:

Eksempel nr. 2: Opprette en Dart -strøm for beregning av produktet av flere heltall

I dette eksemplet ønsker vi å lage en dartstrøm for beregning av produktet av flere heltall. Dette eksemplet ligner ganske mye på vårt første eksempel når det gjelder bruk av dartstrømmene; Imidlertid dens viktigste logikk, jeg.e., Beregningen av produktet vil avvike fra det første eksemplet. Følgende Dart -skript forklarer denne funksjonaliteten:

I vårt andre eksempel har vi erklært en DART -fremtid med heltalls returtypen. Vi har kalt denne fremtidige “ProductStream”, og denne fremtiden vil ta en heltallstrøm som inngang. Igjen har vi brukt "async" nøkkelordet siden vi bruker "Await for" -sløyfen i fremtiden vår. Inne i denne fremtiden har vi erklært en variabel som heter "produkt" og har tildelt den verdien “1”. Denne gangen har vi ikke initialisert denne variabelen med “0” som vi gjorde i tilfelle av summen. Det er slik fordi å multiplisere et hvilket som helst tall med “0” reduserer hele utgangen til “0”. Nettopp derfor må vi beholde verdien av denne variabelen “1” hvis vi ønsker å multiplisere elementene i heltallstrømmen.

Deretter har vi brukt en "avvente for" sløyfe som itererer over heltallstrømmen som er overført til denne fremtiden. Inne i denne sløyfen beregner vi produktet av alle elementene i heltallstrømmen vår. Disse elementene blir lest en etter en, og verdien av "produkt" -variabelen blir oppdatert. Til slutt, når alle elementene i heltallstrømmen er lest, vil denne fremtiden returnere produktet av alle disse heltallene til "Main ()" -funksjonen.

Deretter, i vår "Main ()" -funksjon, har vi erklært en strøm av tre heltall. Etter det har vi laget en "produkt" -variabel for å holde resultatet av vår "ProductStream" fremtid. Nå har vi skrevet ut resultatet av "produkt" -variabelen på terminalen.

Bildet som vises nedenfor viser utdataene fra vår "ProductStream" fremtid, i.e., produktet av alle elementene i heltallstrømmen vår.

Konklusjon

Denne artikkelen ble designet for å dele med deg et relativt nytt konsept tilknyttet DART -programmeringsspråket, i.e., Dartstrømmer. For å gjøre dette konseptet forståelig for deg, har vi implementert to enkle eksempler i Ubuntu 20.04 og har forklart dem begge dyptgående. Etter å ha gått gjennom disse to eksemplene, vil du kunne forstå konseptet med strømmer i DART -programmeringsspråket veldig bra.