I denne opplæringen lærer vi hvordan du bruker de forskjellige metodene fra matriseklassen på Ruby -programmeringsspråket. Array -klassen har tilgang til den enumerbare modulen som gir et sett med metoder for å samhandle med matriseelementene.
Få maksimal verdi i en matrise i Ruby
Vi kan bruke matrisen#Max -metoden for å finne den maksimale verdien fra et gitt sett med elementer. Metoden returnerer elementet og ikke plasseringen av det maksimale elementet i matrisen.
Metoden lar oss også returnere mer enn en verdi ved å spesifisere antall verdier som skal hentes som et argument.
Vi kan uttrykke funksjonssyntaks som følger:
Array.Max ()
For å returnere mer enn en verdi, kan vi bruke syntaksen som følger:
Array.Max ([N])
Der n er en valgfri parameter som bestemmer antall elementer som blir returnert av funksjonen. Dette returnerer verdiene i synkende rekkefølge.
Funksjonsretur
Funksjonen returnerer en matrise som inneholder maksimale verdier som er spesifisert i n -parameteren. Hvis n ikke er gitt, returnerer funksjonen en enkelt verdi.
Eksempelfunksjonsbruk
Følgende eksempel viser funksjonsbruken med en rekke heltallverdier:
IRB (hoved): 001: 0> arr = [10,22,12,100,121,239]
=> [10, 22, 12, 100, 121, 239]
IRB (hoved): 002: 0> arr.Maks
=> 239
Funksjonen returnerer den høyeste verdien fra inngangsarrayen i dette tilfellet. For å få de tre høyeste verdiene, kan vi passere verdien av n som vist:
IRB (hoved): 003: 0> arr.Maks (3)
=> [239, 121, 100]
I dette tilfellet returnerer funksjonen en matrise med de tre høyeste verdiene i synkende rekkefølge.
Vi kan også bruke funksjonen til å hente maksimal verdi fra en rekke strenger. Et eksempel på demonstrasjon er som følger:
IRB (hoved): 004: 0> arr = ['mysql', 'PostgreSql', 'Redis', 'SQL Server']
=> ["MySQL", "PostgreSql", "Redis", "SQL Server"]
IRB (hoved): 005: 0> arr.Maks
=> "SQL Server"
I dette tilfellet sorterer funksjonen strengen basert på tegnene på inngangsstrengen. Jo høyere karakterene er i alfabetisk indeks, jo høyere er verdien.
Dette er en lignende sak for en rekke tegn, som demonstrert i følgende:
IRB (Main): 008: 0> arr = ['A', 'B', 'C', 'Z', 'Q']
=> ["a", "b", "c", "z", "q"]
IRB (hoved): 009: 0> arr.Maks
=> "Z"
I dette tilfellet returnerer funksjonen tegnet med den høyeste alfabetiske indeksen.
IRB (hoved): 010: 0> arr.Maks (3)
=> ["z", "q", "c"]
Få minimumsverdien i en matrise i Ruby
Vi kan hente minimumsverdien fra en matrise ved hjelp av matrisen#min () -funksjonen. Funksjonen følger en lignende syntaks som MAX -funksjonen som vist i følgende:
Array.min ()
For å få mer enn ett element fra matrisen, bruk følgende kommando:
Array.min (n)
Der n refererer til antall elementer med de høyeste eller minimumsverdiene.
Et eksempel på demonstrasjon er som følger:
Strings = ['Hallo', 'World']
intS = [1,2,3,4,5]
chars = ['a', 'b', 'x', 'c']
IRB (hoved): 018: 0> strenger.min
=> "Hei"
IRB (Main): 019: 0> INTS.min
=> 1
IRB (Main): 020: 0> Chars.min
=> "A"
Som vi kan se, returnerer funksjonen den minste verdien i en gitt matrise. Når det gjelder tegn og strenger, sorterer funksjonen verdiene basert på deres posisjoner i alfabetisk rekkefølge.
Konklusjon
Vi utforsket hvordan vi kan bruke matrisen#Max og Array#min -funksjoner for å hente maksimums- og minimumsverdiene fra en matrise i Ruby.