Når det gjelder lagring av relatert og ikke-kompleks informasjon i et program, kommer matriser alltid opp. Arrays er en samling av en bestilt liste over elementer. Ved hjelp av matriser kan du lagre relaterte verdier i en enkelt variabel, noe som gjør koden din effektiv og enkel å administrere. I Ruby inneholder matriser mange innebygde metoder, noe som gjør det å jobbe med listedata mye mer uanstrengt.
Denne artikkelen beskriver forskjellige metoder du kan bruke til å legge til elementer i en matrise i Ruby.
Hvordan lage en matrise i Ruby
I Ruby er det noen måter å lage en matrise. Den vanligste og grunnleggende måten er ved å legge til matriseelementene i et par firkantede parenteser atskilt med komma.
[1,2,3,4,5]Ovennevnte er en matrise som inneholder fem elementer.
Som alle andre gyldige objekter, kan du tilordne en matrise til et variabelt navn som:
myarry = [1,2,3,4,5]For å lage et tomt utvalg ved hjelp av firkantede metttemetoden, kan du gjøre:
tom = []Ovennevnte syntaks vil initialisere en tom matrise, og du kan legge til verdier ved å bruke metodene vi vil diskutere i neste del av denne opplæringen.
En annen måte å lage en matrise i Ruby er å bruke den nye klassemetoden.
MyArray = Array.nyOvennevnte format vil lage et tomt utvalg. Dette formatet ligner på å initialisere en tom matrise ved hjelp av et tomt par firkantede parenteser.
For å spesifisere størrelsen på matrisen under opprettelsen, passerer du størrelsen i et par parenteser:
MyArray = Array.Ny (10)I eksemplet ovenfor lager Ruby en rekke størrelse 10 -elementer, noe som betyr at indeksen for elementene vil starte fra 0 til 9.
Den siste måten å lage en matrise kombinerer både firkantede parentes og den nye klassemetoden.
Syntaksen for det er nedenfor:
MyArray = Array.[] ()Ovennevnte syntaks vil lage et nytt tomt utvalg. Hvis du vil tilordne verdier under oppretting av array, kan du gjøre:
MyArray = Array.[] (1,2,3,4,5)Ruby vil ta elementene som er passert inne i parentesen og legge dem til den nye matrisen.
Hvordan legge til elementer i en matrise i Ruby
Hvis du har en eksisterende matrise, kan du legge til elementer i samlingen ved hjelp av forskjellige teknikker.
Metode 1: Bruke neste indeks
Den første måten er å tilordne en verdi til følgende indeks. Ta et eksempel der du har en matrise som den som er vist nedenfor:
rammer = [I eksemplet ovenfor har vi fire elementer i matrisen. Siden indeksen for matrisen starter elementene på 0, er den maksimale indeksverdien 3.
For å legge til et element i matrisen ved hjelp av indeksen, kan vi tilordne en verdi til den påfølgende indeksen som:
rammer [4] = "Mithril JS"Det er to ulemper med å bruke ovennevnte teknikk for å legge til elementer i en matrise.
En: Hvis du har et stort utvalg, kan det være utfordrende å huske den påfølgende indeksen. Så hvis du hopper over en indeks, vil Ruby sette inn null verdier til den samsvarende indeksen.
For eksempel:
rammer [10] = "Stencil JS"I eksemplet over legger Ruby til Nil -verdier fra indeks 5 til 9 for å matche den spesifiserte indeksen 10.
To: Hvis du spesifiserer feil indeks, vil du overskrive verdien ved den angitte indeksen.
For eksempel:
rammer = [I eksemplet over spesifiserte vi feil indeks, noe som førte til en overskriving til den lagrede verdien.
Her er en utgang for å vise dette:
["React", "Ooops!"," Vue JS "," svelte "]Metode 2: Bruke push -metoden
Vi kan bruke den innebygde push-metoden for å unngå feil som kan oppstå fra å bruke den forrige teknikken.
Metoden vil ta den spesifiserte verdien i parentesen og legge den til det siste elementet i matrisen.
rammer = [Ved å bruke push -metoden trenger du ikke å huske gjeldende indeks; Ruby tar seg av det automatisk.
I noen tilfeller vil du finne << syntax used instead of the push method. The functionality is identical to the push method as:
rammer << "Mithril Js"Metode nr. 3: Bruke unshift -metoden
Både indeks- og push -metodene legger til elementer til slutten av matrisen. For å legge til et element i begynnelsen av samlingen, bruk unshift -metoden.
UNS -metoden fungerer på samme måte som push -metoden. Imidlertid legger det til elementet ved indeks 0.
rammer = [Det resulterende utvalget for dette eksemplet vil være:
["Mithril JS", "React", "Angular", "Vue JS", "Svelte"]Metode nr. 4: Bruke innsatsmetoden
#Insert -metoden i Ruby aksepterer en indeksposisjon og en verdi som argumenter. Du kan bruke den til å sette inn et element i hvilken som helst indeksposisjon.
Tenk på følgende syntaks:
rammer = [Det resulterende utvalget for dette eksemplet er:
["React", "Angular", "Stencil JS", "Vue JS", "Svelte"]I eksemplet over vil innsatsmetoden "presse" elementet i den spesifiserte matrisen.
MERK: Bruk denne metoden forsiktig, spesielt hvis du har andre kodeblokker som refererer til Set Index.
Konklusjon
Denne opplæringen har vist deg hvordan du jobber med matriser, inkludert å bruke forskjellige metoder for å lage og legge til elementer i en matrise.
Pro tips: Ruby har aliaser for henholdsvis push- og unshift -metodene som vedlegg og prepend.