Ruby Confronta stringa

Ruby Confronta stringa
Il confronto delle stringhe è il processo di valutazione dei letterali a due stringhe usando espressioni condizionali che restituiscono un vero o falso.

In Ruby, possiamo eseguire operazioni di confronto delle stringhe usando vari metodi, come discusso in questo tutorial.

Operatore di uguaglianza

Due segni uguali indicano l'operatore di uguaglianza in Ruby. Restituisce vero se entrambi gli oggetti sono uguali e falsi se altrimenti.

var1 = "ciao"
var2 = "ciao"
var1 == var2
=> vero

L'operatore di uguaglianza non importa fintanto che entrambi gli oggetti forniti sono stringhe valide

var1 = 'ciao'
var2 = "ciao"
var2 == var1
=> vero

Se le stringhe non sono uguali, l'operatore di uguaglianza restituirà falso.

var1 = "ciao"
var2 = "mondo"
var1 == var2
=> false

Puoi fare di più che confrontare le variabili di stringa. Puoi anche confrontare una stringa letterale come:

"ciao" == "zero"
=> false

È bene notare che una stringa numerica non è direttamente paragonabile a un valore intero.

2 == "2"
=> false

Non uguale

L'operatore non uguale, indicato come !=, restituisce vero se i valori confrontati non sono uguali e falsi se uguali. Agisce come una negazione dell'operatore di uguaglianza.

"Ciao" != "Ciao"
=> false

Se i valori confrontati non sono uguali, restituisce vero come:

"Ciao" != "Ciao"
=> vero

Eql? Metodo

Ruby ha un metodo di stringa integrato chiamato EQL?. L'EQL? Verifica il metodo se i valori sono uguali sia in lunghezza che in contenuto. L'EQL? Il metodo restituisce vero se i valori confrontati sono uguali o no.

Esempi:

var1 = "ciao"
var1.eql?("CIAO")
=> vero

In questo caso, entrambe le stringhe sono uguali in lunghezza e contenuto.

L'EQL? il metodo è sensibile ai casi e ritornerà falso se l'involucro non è uguale

var1 = "ciao"
var1.eql?("Ciao")
=> false

A differenza dell'operatore di uguaglianza che restituisce vero quando si confronta un numero intero e un galleggiante, l'EQL? Il metodo restituisce falso come:

10 == 10.0
=> vero
10.eql?10.0
=> false

Pari? Metodo

A differenza dell'operatore di uguaglianza che controlla se entrambi i valori sono uguali, il pari? Verifica il metodo Se entrambi gli operandi fanno riferimento allo stesso oggetto.

var1 = "ciao"
var2 = "ciao"
var1.pari? var2
=> false

Noterai che il metodo restituisce falso poiché i valori non fanno riferimento allo stesso oggetto. Puoi ottenerlo usando Object_id come:

var1.Object_id
=> 280
var2.Object_id
=> 300

Un esempio di entrambi gli operandi che indicano lo stesso oggetto è mostrato:

var2 = var1
var1.pari? var2
=> vero
var1.Object_id
=> 280
var2.Object_id
=> 280

Notazione per astronavi

Ruby fornisce anche un modo per confrontare le stringhe note come notazione per astronavi. Lo esprimiamo con un segno meno che un segno uguale e un operatore.

Il metodo restituisce 0 se le stringhe corrispondono a -1 se l'operando sinistro è inferiore all'operando destro e 1 se l'operando destro è maggiore dell'operando sinistro.

"Ciao ciao"
=> 0
"Ciao ciao"
=> -1
"Ciao ciao"
=> 1

Metodo CasecMP

Per eseguire un confronto insensibile al caso, è possibile utilizzare il metodo CASECMP. Ha valori di ritorno simili alla notazione spaziale.

"Ciao".Casecmp "Hello"
=> 0

Il metodo ignora la sensibilità al caso e confronta solo il contenuto delle stringhe.

7: confronto a portata

Per confrontare se un carattere è in un intervallo specifico, possiamo utilizzare l'operatore di gamma, donati utilizzando segni tripli uguali ===

("a" ... "g") === "d"
=> vero
("a" ... "g") === "z"
=> false

L'operatore restituisce vero se il carattere è nell'intervallo e falso se altrimenti.

Conclusione

In questa guida, abbiamo discusso di vari modi per confrontare le stringhe nel linguaggio di Ruby.

Grazie per aver letto!