I Ruby kan vi utføre strengsammenligningsoperasjoner ved hjelp av forskjellige metoder, som diskutert i denne opplæringen.
Likestillingoperatør
To like skilt betegner likestillingoperatøren i Ruby. Det returnerer sant hvis begge objektene er like og usanne hvis annet.
var1 = “Hei”Likestillingsoperatøren bryr seg ikke så lenge begge forutsatte objekter er gyldige strenger
var1 = 'hei'Hvis strengene ikke er like, vil likestillingsoperatøren komme tilbake usant.
var1 = "Hei"Du kan gjøre mer enn å sammenligne strengvariabler. Du kan også sammenligne en streng bokstavelig som:
"hei" == "null"Det er bra å merke seg at en numerisk streng ikke er direkte sammenlignbar med en heltallverdi.
2 == "2"Ikke lik
Den ikke like operatøren, betegnet som !=, returnerer sant hvis de sammenlignede verdiene ikke er like og usanne hvis de er like. Det fungerer som en negasjon av likestillingoperatøren.
"Hallo" != "Hei"Hvis de sammenlignede verdiene ikke er like, returnerer den sant som:
"Hallo" != "Hei"Eql? Metode
Ruby har en innebygd strengmetode som heter EQL?. Eql? Metode sjekker om verdiene er like i både lengde og innhold. Eql? metoden returnerer sant hvis de sammenlignede verdiene er like eller ikke.
Eksempler:
var1 = “Hei”I dette tilfellet er begge strengene like i lengde og innhold.
Eql? Metoden er case-sensitiv og vil returnere falsk hvis foringsrøret ikke er lik
var1 = “Hei”I motsetning til likestillingsoperatøren som returnerer sant når du sammenligner et heltall og float, er EQL? metoden returnerer falsk som:
10 == 10.0Lik? Metode
I motsetning til likestillingsoperatøren som sjekker om begge verdiene er like, er de likeverdige? Metode sjekker om begge operandene refererer til det samme objektet.
var1 = "Hei"Du vil merke at metoden returnerer falsk ettersom verdiene ikke refererer til det samme objektet. Du kan få dette ved å bruke Object_id som:
var1.objekt_idEt eksempel på at begge operandene som peker på det samme objektet er som vist:
var2 = var1Romskip notasjon
Ruby gir også en måte å sammenligne strenger kjent som Notation. Vi uttrykker dette med et mindre enn tegn, et like tegn og en større enn en operatør.
Metoden returnerer 0 hvis strengene stemmer overens.
"Hei hei"Casecmp -metode
For å utføre en ufølsom sammenligning, kan du bruke CASECMP -metoden. Den har lignende returverdier til romskipnotasjon.
"Hallo".casecmp "Hei"Metoden ignorerer saksfølsomhet og sammenligner bare innholdet i strengene.
7: Sammenligning av rekkevidde
For å sammenligne om et tegn er innenfor et bestemt område, kan vi bruke Operatøren, donert ved hjelp av Triple Equal Signs ===
("A" ... "G") === "D"Operatøren returnerer sant hvis tegnet er i området og falsk hvis annet.
Konklusjon
I denne guiden diskuterte vi forskjellige måter å sammenligne strenger på rubinspråket.
Takk for at du leser!