Fjern et matriseelement i Ruby

Fjern et matriseelement i Ruby
Arrays er noen av de mest allsidige og populære datastrukturene i Ruby og andre programmeringsspråk. Selv om implementeringen kan variere basert på forskjellige programmeringsspråk, i Ruby, kan vi definere en matrise som en samling av elementer av forskjellige datatyper, inkludert andre matriser.

Arrays i Ruby bestilles og kan nås ved hjelp av indekser. En matriseindeks refererer til en heltallverdi som betegner plasseringen av et element i en matrise. I Ruby er matriser objekter fra matriseklassen, som inneholder et sett med metoder og nyttige datastrukturer for å jobbe med matriser.

Dette innlegget vil diskutere grunnleggende om å jobbe med matriser, inkludert hvordan du fjerner et element fra en matrise i Ruby.

Ruby Create Array

I Ruby kan vi lage en matrise ved hjelp av en firkantet brakett og legge til elementene i matrisen inni den. Hvert element i matrisen skilles med et komma, som vist i syntaksen nedenfor:

Array = [element1, element2, element3 ... elementn]

For eksempel:

top_databases = ["mysql", "PostgreSql", "Oracle Database", "SQL Server", "MongoDB"]

I dette tilfellet lager vi en matrise som heter Top_Database. Arrayen inneholder fem elementer av strengtype, som hver representerer en annen database.

Vi kan også bruke matrisen.Ny metode for å lage en ny matrise. Et eksempel er som vist nedenfor:

top_databases = matrise.Ny (["MySQL", "PostgreSql", "Oracle Database", "SQL Server", "MongoDB"])

Ruby Fjern elementet fra Array

Avvisningsmetoden er den første metoden for å fjerne et element fra en matrise.

Avvisningsmetoden lar oss filtrere elementer fra en matrise eller et enumable objekt basert på en spesifikk tilstand. Metoden tar en blokk som et argument, og blokken skal returnere sant eller usant for hvert element. Elementer som blokken returnerer for, fjernes fra den originale samlingen og en ny samling som inneholder de gjenværende ingrediensene returneres.

Det er godt å huske at metoden ikke vil endre den opprinnelige matrisen. I stedet oppretter det en ny matrise for å lagre elementene.

Ta eksemplet nedenfor:

Tall = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Odd_numbers = tall.Avvis | n | n % 2 == 0

I eksemplet over bruker vi avvisemetoden på tallarrayen. Blokken vil ta elementene n og returnerer sant hvis elementet er jevnt; falsk hvis elementet er rart. Avvisningsmetoden vil deretter fjerne alle elementene som er sanne og lagre de 'falske' verdiene i den nye matrisen.

Produksjon:

=> [1, 3, 5, 7, 9]

Fjern elementet fra matrisen

Subtraksjonsmetoden er den andre metoden vi kan bruke for å fjerne et element fra en matrise. Dette lar oss trekke fra to matriser og lagre lignende verdier.

Et eksempel er som vist nedenfor:

numbers_to_remove = [3, 4, 5]
original_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_array = original_array - numre_to_remove

Resulterende matrise:

=> [1, 2, 6, 7, 8, 9, 10]

I dette eksemplet inneholder New_Array alle elementer fra original_array bortsett fra de som var til stede i numre_to_remove -arrayen.

Vi kan bruke denne metoden for å fjerne flere elementer samtidig. Dette er en mer effektiv måte enn å sløyfe over matrisen og fjerne elementer en etter en.

Det er verdt å merke seg at denne metoden bare fjerner elementer hvis de eksisterer i den opprinnelige matrisen, og hvis de er nøyaktig samme objekt, ikke hvis de er like.

Ruby slettelement fra Array - Metode 3

Ruby gir oss også slettemetoden som lar oss fjerne et spesifisert element fra en gitt matrise

Funksjonen vil slette det spesifiserte elementet og returnere det som utgang. Det er godt å huske på at dette er en destruktiv metode, dette betyr at det vil gjøre endringer i den opprinnelige matrisen som demonstrert nedenfor:

arr = [1,2,3,4,5,6]
arr.slett (5)
=> 5

Produksjon:

IRB (Main): 040: 0> Setter ARR
1
2
3
4
6
=> nil

Ruby slettelement fra Array - Metode 4

Vi kan også slette et element fra en matrise ved hjelp av elementets indeksposisjon ved hjelp av Delete_at () -metoden.

Metoden aksepterer målindeksen hvis element vi ønsker å slette som parameter. Syntaksen er som vist nedenfor:

Array.delete_at (indeks)

Indeksen betegner indeksposisjonen til elementet vi ønsker å slette.

Tilsvarende vil metoden returnere verdien på elementet vi slettet.

Et eksempel er vist nedenfor:

original_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
original_array.delete_at (2)
=> 3

I dette eksemplet er Delete_at -funksjonen og passerer målindeksen som 2. I dette tilfellet fjerner funksjonen elementet ved den spesifiserte indeksen, 3 og endrer den opprinnelige matrisen.

Funksjonen vil også returnere en feil hvis den spesifiserte indeksen er utenfor rekkevidde. For å unngå å endre den opprinnelige matrisen, kan du bruke andre metoder omtalt ovenfor eller firkantet brakettnotasjon.

original_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_array = original_array [0… 2] + original_array [3… -1]

Dette fungerer ved å fjerne elementet i målposisjonen og sammenkoble de resulterende matriser til en enkelt verdi.

Konklusjon

I dette kom du over fire hovedmetoder du kan bruke for å fjerne et element fra en inngangsoppstilling ved hjelp av Ruby -programmeringsspråket.