Legg til Array i Ruby

Legg til Array i Ruby

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.ny

Ovennevnte 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 = [
"Reagere",
"Angular",
"Vue JS",
"Svelte"
]

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"
Skriv ut rammer
["React", "Angular", "Vue JS", "Svelte", "Mithril JS", Nil, Nil, Nil, Nil, Nil, "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 = [
"Reagere",
"Angular",
"Vue JS",
"Svelte"
]
rammer [1] = "ooops!""
Skriv ut 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 = [
"Reagere",
"Angular",
"Vue JS",
"Svelte"
]
rammer.Push ("Mithril JS")

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 = [
"Reagere",
"Angular",
"Vue JS",
"Svelte"
]
rammer.Unshift ("Mithril JS")
Skriv ut 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 = [
"Reagere",
"Angular",
"Vue JS",
"Svelte"
]
rammer.Sett inn (2, "Stencil JS")
Skriv ut 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.