Ruby Array Sum

Ruby Array Sum
I denne guiden vil vi diskutere forskjellige teknikker for å oppsummere elementene i en Ruby -matrise.

Løkke

Den enkleste og vanligste måten å legge til elementer i en matrise er å bruke en loop. Vi starter med å definere en variabel for å lagre summen av verdier og initialisere den til 0. Deretter itererer vi over hvert element i matrisen og legger dem til sumvariabelen.

Ta eksemplarrayen vist nedenfor:

aldre = [10, 87, 34, 23, 54, 44, 23, 11, 5]

For å legge til alle verdiene til ovennevnte matrise, start med å definere en sumvariabel og initialisere den til 0

Sum = 0

Deretter lager du en løkke for å iterere hvert element og legge den til sumvariabelen som:

aldre = [10, 87, 34, 23, 54, 44, 23, 11, 5]
Sum = 0
for jeg i aldre
sum += i
slutt
setter sum

Når du har kjørt ovennevnte kode, bør du få summen av alle elementene i ovennevnte matrise.

Hver metode

Ruby har en standardmetode for å iterere over elementer i en matrise. Den godtar en blokk som vi kan bruke for å beregne summen av alle elementer.

Metoden fungerer på samme måte som en for loop vist ovenfor.
For eksempel:

aldre = [10, 87, 34, 23, 54, 44, 23, 11, 5]
Sum = 0
aldre.Hver gjør | i |
sum += i
slutt
setter sum

Den resulterende verdien er summen av alle verdier i matrisen:

=> 291

Summetode

På den nyere versjonen av Ruby kan du bruke summetoden for å legge til alle elementene i en matrise.

For eksempel:

aldre = [10, 87, 34, 23, 54, 44, 23, 11, 5]
setter aldre.sum

Injiser metoden

Ruby har en metode som heter Inject. Det tar hvert element i en oppregner og akkumulerer det sekvensielt.

For eksempel:

aldre = [10, 87, 34, 23, 54, 44, 23, 11, 5]
setter aldre.injiser (:+)

Injeksjonsmetoden tar det første elementet i matrisen og behandler det som den første summenverdien. Metoden fortsetter å iterere alle elementene i matrisen, og legger til hver av dem sammen.

Når metoden når slutten av matrisen, behandler den den endelige verdien som den totale summen av matrisen.

Du kan også definere en standardverdi for injeksjonsmetoden. Ta eksemplet nedenfor som definerer en standardverdi.

aldre = [10, 87, 34, 23, 54, 44, 23, 11, 5]
setter aldre.injiser (0) | sum, i | sum + i

Reduser metoden

Reduseringsmetoden ligner veldig på injeksjonsmetoden-de er som aliaser. I vårt eksempel vil vi bruke kartmetoden for å returnere individuelle elementer i matrisen som heltall.

aldre = [10, 87, 34, 23, 54, 44, 23, 11, 5]
aldre.Kart (&: to_i)

Når vi har alle elementene fra matrisen, kan vi kalle reduseringsmetoden som:

Reduser (:+)

Ovennevnte syntaks skal returnere summen av alle elementer i matrisen.

aldre = [10, 87, 34, 23, 54, 44, 23, 11, 5]
setter aldre.Kart (&: to_i).Reduser (:+)

Konklusjon

Denne guiden har illustrert forskjellige måter å legge til alle elementer i en matrise.