Ruby Compare String

Ruby Compare String
La comparación de cadenas es el proceso de evaluación de dos literales de cadena utilizando expresiones condicionales que devuelven un booleano verdadero o falso.

En Ruby, podemos realizar operaciones de comparación de cadenas utilizando varios métodos, como se discutió en este tutorial.

Operador de igualdad

Dos signos iguales denotan el operador de igualdad en Ruby. Devuelve verdadero si ambos objetos son iguales y falsos si no.

var1 = "hola"
var2 = "Hola"
var1 == var2
=> verdadero

Al operador de igualdad no le importa siempre que ambos objetos proporcionados sean cadenas válidas

var1 = 'hola'
var2 = "hola"
var2 == var1
=> verdadero

Si las cadenas no son iguales, el operador de igualdad devolverá falso.

var1 = "hola"
var2 = "mundo"
var1 == var2
=> Falso

Puede hacer más que comparar variables de cadena. También puede comparar una cadena literal como:

"Hola" == "Zero"
=> Falso

Es bueno tener en cuenta que una cadena numérica no es directamente comparable a un valor entero.

2 == "2"
=> Falso

No es igual

El operador no igual, denotado como !=, devuelve verdadero si los valores comparados no son iguales y falsos si son iguales. Actúa como una negación del operador de igualdad.

"Hola" != "Hola"
=> Falso

Si los valores comparados no son iguales, devuelve verdadero como:

"Hola" != "Hola"
=> verdadero

EQL? Método

Ruby tiene un método de cadena incorporado llamado EQL?. El EQL? Comprueba el método si los valores son iguales tanto en longitud como en contenido. El EQL? El método devuelve verdadero si los valores comparados son iguales o no.

Ejemplos:

var1 = "hola"
var1.EQL?("HOLA")
=> verdadero

En este caso, ambas cadenas tienen una longitud de igual longitud y contenido.

El EQL? El método es sensible al caso y devolverá falso si la carcasa no es igual

var1 = "hola"
var1.EQL?("Hola")
=> Falso

A diferencia del operador de igualdad que devuelve verdadero cuando compara un entero y flotación, el EQL? El método devuelve falso como:

10 == 10.0
=> verdadero
10.EQL?10.0
=> Falso

Igual? Método

A diferencia del operador de igualdad que verifica si ambos valores son iguales, el igual? Verificación del método si ambos operandos hacen referencia al mismo objeto.

var1 = "hola"
var2 = "hola"
var1.igual? var2
=> Falso

Notará que el método devuelve falso ya que los valores no hacen referencia al mismo objeto. Puede obtener esto usando Object_ID como:

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

Un ejemplo de ambos operandos que apuntan al mismo objeto es como se muestra:

var2 = var1
var1.igual? var2
=> verdadero
var1.Object_id
=> 280
var2.Object_id
=> 280

Anotación de nave espacial

Ruby también proporciona una forma de comparar cadenas conocidas como notación de nave espacial. Expresamos esto con un signo menos que, un signo igual y un operador más grande que un operador.

El método devuelve 0 si las cadenas coinciden -1 si el operando izquierdo es menor que el operando derecho, y 1 si el operando derecho es mayor que el operando izquierdo.

"Hola hola"
=> 0
"Hola hola"
=> -1
"Hola hola"
=> 1

Método CASECMP

Para realizar una comparación insensible de estuche, puede usar el método CASECMP. Tiene valores de retorno similares a la notación de naves espaciales.

"Hola".Casecmp "Hola"
=> 0

El método ignora la sensibilidad a los casos y solo compara el contenido de las cadenas.

7: Comparación de rango

Para comparar si un personaje está dentro de un rango específico, podemos usar el operador de rango, donado usando señales triple iguales ===

("A" ... "G") === "D"
=> verdadero
("A" ... "G") === "Z"
=> Falso

El operador devuelve verdadero si el personaje está en el rango y falso si es lo contrario.

Conclusión

En esta guía, discutimos varias formas de comparar cuerdas en el idioma rubí.

Gracias por leer!