Hva er reduserer funksjonen i Scala?
Generelt brukes Scala Reduce -funksjonen til å bruke binære operasjoner for hvert element i en samling. Scala Reduce -funksjonen tar bare assosiative og kommutative binære funksjoner som en parameter, deretter bruker det for elementene i samlingen. Disse samlingsordningene inneholder lister, sett, kart, sekvenser og tuples.
Syntaks for reduseringsfunksjonen i Scala:
Syntaksen til Scala reduserer funksjonen er i henhold til dokumentasjonen deres, som ser ut på denne måten.
def reduserer [a1>: a] (op: (a1, a1) ⇒ a1): a1
Scala Reduce -funksjonen tar først to parametere fra elementene i en gitt liste, der vi kan utføre vår virksomhet. "OP" -parameteren er for binære operasjoner, som fusjonerer alle elementene for innsamlingsdatastrukturer og returnerer en enkelt verdi. Tegnet “=>” er en transformator som brukes til å utføre listeparameteren til en anonym funksjon fra venstre side til en høyre side ved å bruke uttrykket som er til stede der.
Til slutt returnerer Scala Reduce -funksjonen en enkelt verdi fra den kombinerte samlingen av elementer utført ved hjelp av binære operasjoner.
Hvordan du bruker reduserer i scala i ubuntu 20.04:
La oss ta et eksempel og se hvordan Scala reduserer funksjonsresultater når vi bruker denne funksjonen på elementer av innsamlingsdatastrukturer.
Eksempel nr. 1: Bruke reduksjonsfunksjonen i Scala for å finne summen.
I det første eksemplet på Scala Reduce -funksjonen finner vi summen av alle elementer i datastruktursamlingen som vil utføre binær driftstilskudd.
Her i koden til eksempel 1 har vi en klasse som "sum1", og all koden implementeres i hovedfunksjonen til klassen. I hovedfunksjonen har vi en variabel med nøkkelordet “val” som representerer “L1” som tar inngangsverdiene på listen. Ved å bruke Scala redusere funksjonen i den andre variabelen som å navngi "output" og ved at vi har en anonym funksjon som utfører den binære driften av tillegg. Vi har en enkelt verdi fra summen av "L1" -elementer. Legg merke til at det til å begynne med tar det første elementet “23” fra listen og deretter det andre elementet “24”. Derfra vil vi få et tredje nummer som er en sum av disse første og andre elementene. På samme måte fortsetter det å iterere over elementene inn i listen (=>).
Eksempel nr. 2: Bruke reduksjonsfunksjonen i Scala for å finne min og maks.
Vi har et annet eksempel på å bruke Scala redusere funksjonen som vil utføre en binær operasjon for å finne minimum og maksimal verdi fra elementet i listesamling.
Hovedfunksjonen til klasse "tall" har en variabel "E1" som tar fem forskjellige numeriske verdier som en inngang og ringer i vår andre variabel "E2" ved å bruke Scala Reduce -funksjonen for å utføre maksimalt på elementene i listesamlingen. Den andre variabelen, “E3” vil finne minverdien fra “E1” -listeelementet gjennom Scala redusere funksjonen. Endelig har vi utskriftsuttalelser som viser de nye MIN- og MAX -elementverdiene.
Utgangen fra min og maksimale verdier vises på konsollskjermen til Ubuntu 20.04.
Eksempel nr. 3: Bruke reduksjonsfunksjonen med kartfunksjonen for å finne gjennomsnittsverdien.
Eksemplet med å finne gjennomsnittet av listeelementene ved å bruke Scala redusere funksjonen og en annen funksjon som heter Scala Map -funksjon. Denne Scala Map -funksjonen lar oss forvandle en samling listeelementer til en annen samling av elementer. På den annen side utfører Scala Reduce -funksjonen den binære operasjonen i samlingen. La oss utføre en eksempelkode.
Klassen “matematikk” definerer vår viktigste funksjonsimplementering i koden ovenfor. Her har vi en variabel "val" som "M1" som har de første listeelementene som har forskjellige tall. Så har vi en annen variabel, “M2” som vil konvertere hvert element av “M1” til et par fra (a, 1) ved å bruke Scala Map -funksjonen som “1”, som er den opprinnelige frekvenstelleren til alle elementer. Resultatet vises i variabelen "resultat" som vi legger til alle elementene i tilsvarende posisjon. Skriv nå ut resultatet for å få en liste med to elementer. Det første elementet er summen, og det andre elementet er antallet av det aktuelle elementet. Vi har en annen utskriftserklæring som gir et gjennomsnitt fra resultatverdien og setter datatypen til å flyte.
Utgangen etter implementering og utførelse fra ovennevnte kode er nedenfor i skjermbildet.
Eksempel 4: Bruke reduseringsfunksjonen i skala for strenger:
Alle eksemplene ovenfor er for heltallverdier. Vi introduserer strengverdier i Scala Reduce -funksjonen som vil sammenkoble strengene til en enkelt verdi. La oss ha en eksempelkode for hvordan det fungerer.
Ovennevnte kodeeksempel på strenger har en klasse erklært som "strenger" som tar strengerelementer i hovedfunksjonen. Variablene "Str1", "Str2", "Str3" og "Str4" blir initialisert med forskjellige strengelementer på listen. Så i variablene "Strresult1", "Strresult2", "Strresult3", og "Strresult4", bruker vi Scala Reduce -funksjonen som vil sammenkoble strengelementene i en enkelt streng. Gjennom utskriftserklæringen kan du se hvordan den vil generere en ny streng.
Viser utgangsstrengen nedenfor i koden.
Konklusjon:
Til slutt har vi diskutert hvordan Scalas innebygde reduseringsfunksjon vil bruke binær drift av innsamlingselementene og endre den til en enkelt verdi. Vi kan utføre mange operasjoner ved å bruke Scala Reduce -funksjonen. I denne artikkelen har vi diskutert noen få kodeeksempler som viser hvordan vi kan finne summen av elementene, maks verdi, min verdi og bruke kartfunksjon med Scala redusere funksjonen. Denne guiden vil hjelpe deg å forstå det grunnleggende ved å bruke Scala for å redusere funksjonen.