Hvordan lage en en rubin -matrise
I Ruby kan vi lage en matrise ved å omslutte en samling komma-separerte verdier i par firkantede parenteser.
For eksempel:
MyArray = [1,2,3,4,5,6]
Hvert element i en matrise er kjent som et element, og det kan være av ethvert gyldig objekt som heltall, float, streng, hashes og mer.
Du kan også opprette en matrise i Ruby ved hjelp av den nye klassemetoden. For eksempel:
MyArray = Array.ny
For å definere matrisens størrelse under opprettelsen, kan du passere størrelsen på matrisen i parentes som:
MyArray = Array.Ny (10)
Eksemplet ovenfor har en størrelse på 10 elementer.
Hvordan lese matriseelementer
Det første trinnet for å lese en matrise i Ruby er å skrive den ut. I et slikt tilfelle kan vi bruke innebygde rubinmetoder som utskrift og setter:
MyArray = [1,2,3,4,5,6]
Skriv ut MyArray
[1, 2, 3, 4, 5, 6]
Bruke utskriftsmetoden vil returnere elementene i en matrise alt i en enkelt linje.
Eksemplet nedenfor bruker PUTS -kommandoen for å vise elementene i matrisen:
MyArray = [1,2,3,4,5,6]
setter myarray
1
..
5
6
I motsetning til utskriftsmetoden, vil PUTS vise elementene i en matrise, hvert element per linje.
For å iterere over elementene i en matrise, kan du bruke hver# funksjon. Ta eksemplet nedenfor:
MyArray = [1,2,3,4,5,6]
MyArray.Hver | i | setter jeg
Eksemplet ovenfor vil returnere hvert element i matrisen.
Et annet eksempel når itering over en matrise er å bruke en enkel for loop. Tenk på eksemplet som er vist nedenfor:
MyArray = [1,2,3,4,5,6]
for jeg i myarray
setter i
slutt
I likhet med hver# metode, vil for -loopen over returnere hvert element i matrisen.
Hvordan oppdatere Ruby Array -elementer
Du kan oppdatere verdiene i en Ruby -matrise ved å utføre forskjellige handlinger. For eksempel kan du sortere dem, legge til et nytt element, snu elementene og mange flere.
La oss diskutere noen få eksempler på å oppdatere et eksisterende utvalg i Ruby.
For å legge til et nytt element i matrisen, kan du bruke push -metoden som:
kapteiner = [
"James Kirk",
"William Riker",
"Christopher Pike",
"Jonathan Archer"
]
kapteiner.Push ("Jean-Luc Picard")
Push -metoden vil ta den medfølgende verdien og legge den til på slutten av matrisen.
Produksjon:
Skriv ut kapteiner
["James Kirk", "William Riker", "Christopher Pike", "Jonathan
Archer "," Jean-Luc Picard "]
For å legge til et nytt element i begynnelsen av matrisen, kan du bruke unshift -metoden som:
kapteiner.Unshift ("Kathryn Janeway")
Skriv ut kapteiner
=> ["Kathryn Janeway", "James Kirk", "William Riker", "Christopher Pike", "Jonathan Archer"]
Anta at du vil endre elementet i en matrise som er lagret i en bestemt indeks? For å gjøre dette, kan du bruke oppdragsoperatøren.
Tenk på eksemplet nedenfor:
Kapteiner [0] = "Carol Freeman"
Skriv ut kapteiner
["Carol Freeman", "William Riker", "Christopher Pike", "Jonathan Archer"]
I eksemplet over velger vi elementet ved indeksen over 0 og tilordner en ny verdi.
Hvordan slette matriseelementer i Ruby
Ruby gir deg forskjellige måter å fjerne elementer i en matrise. Slike metoder inkluderer:
Bruke pop# -metode
For å fjerne det siste elementet i en matrise, bruk popmetoden. Tenk på eksemplet som er vist nedenfor:
kapteiner = [
"James Kirk",
"William Riker",
"Christopher Pike",
"Jonathan Archer"
]
kapteiner.pop
Skriv ut kapteiner
Popmetoden tar det siste elementet i matrisen og sletter det som vist i den resulterende matrisen:
["James Kirk", "William Riker", "Christopher Pike"]]
Bruke skift# -metode
Skiftmetoden ligner på popmetoden. Imidlertid fjerner det det første elementet i matrisen som vist:
kapteiner = [
"James Kirk",
"William Riker",
"Christopher Pike",
"Jonathan Archer"
]
kapteiner.skifte
Skriv ut kapteiner
Drittmetoden fjerner elementet ved indeks 0 som vist:
["William Riker", "Christopher Pike", "Jonathan Archer"]
Bruke Delete_at# -metode
Hvis du vil fjerne en matrise i en bestemt indeks, kan du bruke Delete_at -metoden. Det tar indeksposisjonen som argument.
Tenk på eksemplet nedenfor:
kapteiner = [
"James Kirk",
"William Riker",
"Christopher Pike",
"Jonathan Archer"
]
kapteiner.delete_at (2)
Skriv ut kapteiner
Eksemplet ovenfor fjerner elementet som er lagret ved indeks 2 i matrisen. Den resulterende verdien er:
["James Kirk", "William Riker", "Jonathan Archer"]
Bruke Delete# -metode
Slettmetoden godtar en matriseverdi og fjerner den fra den spesifiserte matrisen. For eksempel:
kapteiner = [
"James Kirk",
"William Riker",
"Christopher Pike",
"Jonathan Archer"
]
kapteiner.Slett ("William Riker")
Skriv ut kapteiner
I motsetning til Delete_at, aksepterer slettemetoden en faktisk verdi av matrisen.
Bruke trekk- og oppdragsoperatør
Trekk- og tildelingsoperatøren uttrykt som -= kan fjerne et element fra en matrise.
Tenk på eksemplet som er vist nedenfor:
kapteiner = [
"James Kirk",
"William Riker",
"Christopher Pike",
"Jonathan Archer"
]
Kapteiner -= ["Christopher Pike"]
Skriv ut kapteiner
Eksemplet over spesifiserer elementet som skal fjernes inne i et par firkantede parenteser.
Bruke Delete_if# -metode
Delete_if -metoden aksepterer en betinget og fjerner alle elementene i matrisen som ikke oppfyller den spesifiserte tilstanden.
Ta eksemplet nedenfor:
kapteiner = [
"James Kirk",
"William Riker",
"Christopher Pike",
"Jonathan Archer"
]
kapteiner.delete_if | i | Jeg.lengde <11
Skriv ut kapteiner
Metoden tar en blokk og evaluerer hvert element for en matchende sak. Hvis verdien ikke oppfyller de faste forholdene, fjerner metoden den.
Den resulterende verdien er:
["William Riker", "Christopher Pike", "Jonathan Archer"]
Siste tanker
I denne guiden diskuterte vi CRUD -operasjoner når vi jobbet med matriser i Ruby. Det er bra å merke seg at denne opplæringen ikke uttømmer alle metodene og teknikkene for CRUD -operasjoner når du jobber med Ruby Arrays.
Takk for at du leser!