Ruby Compare string

Ruby Compare string
Comparação de string é o processo de avaliação de dois literais de string usando expressões condicionais que retornam um booleano verdadeiro ou falso.

Em Ruby, podemos executar operações de comparação de string usando vários métodos, conforme discutido neste tutorial.

Operador de igualdade

Dois sinais iguais denotam o operador de igualdade em Ruby. Ele retorna verdadeiro se ambos os objetos forem iguais e falsos se o contrário.

var1 = “olá”
var2 = “olá”
var1 == var2
=> true

O operador de igualdade não se importa, desde que ambos os objetos fornecidos sejam strings válidos

var1 = 'olá'
var2 = "Olá"
var2 == var1
=> true

Se as cordas não forem iguais, o operador da igualdade retornará falso.

var1 = "Olá"
var2 = "mundo"
var1 == var2
=> false

Você pode fazer mais do que comparar variáveis ​​de string. Você também pode comparar uma string literal como:

"Olá" == "Zero"
=> false

É bom observar que uma string numérica não é diretamente comparável a um valor inteiro.

2 == "2"
=> false

Não igual

O operador não igual, indicado como !=, retorna true se os valores comparados não forem iguais e falsos se for igual. Atua como uma negação do operador de igualdade.

"olá" != "Olá"
=> false

Se os valores comparados não forem iguais, ele retornará true como:

"olá" != "Olá"
=> true

EQL? Método

Ruby tem um método de string interno chamado eql?. O eql? O método verifica se os valores são iguais em comprimento e conteúdo. O eql? o método retorna true se os valores comparados forem iguais ou não.

Exemplos:

var1 = “olá”
VAR1.EQL?("OLÁ")
=> true

Nesse caso, ambas as cordas são iguais em comprimento e conteúdo.

O eql? o método é sensível ao caso e retornará falso se o invólucro não for igual

var1 = “olá”
VAR1.EQL?("olá")
=> false

Ao contrário do operador de igualdade que retorna true quando você compara um número inteiro e flutuação, o EQL? O método retorna false como:

10 == 10.0
=> true
10.EQL?10.0
=> false

Igual? Método

Ao contrário do operador de igualdade que verifica se ambos os valores são iguais, o igual? Método verifica se ambos os operando referem o mesmo objeto.

var1 = "Olá"
var2 = "Olá"
VAR1.igual? VAR2
=> false

Você notará que o método retorna false, pois os valores não fazem referência ao mesmo objeto. Você pode obter isso usando object_id como:

VAR1.object_id
=> 280
VAR2.object_id
=> 300

Um exemplo de ambos os operando apontando para o mesmo objeto é o que mostrou:

var2 = var1
VAR1.igual? VAR2
=> true
VAR1.object_id
=> 280
VAR2.object_id
=> 280

Notação de nave espacial

Ruby também fornece uma maneira de comparar strings conhecidos como notação de nave espacial. Expressamos isso com um sinal menos que o sinal, um sinal igual e um maior que um operador.

O método retorna 0 se as cordas corresponderem -1 se o operando esquerdo for menor que o operando direito e 1 se o operando direito for maior que o operando esquerdo.

"Olá Olá"
=> 0
"Olá Olá"
=> -1
"Olá Olá"
=> 1

Método CASECMP

Para realizar uma comparação insensível ao caso, você pode usar o método CASECMP. Tem valores de retorno semelhantes para a notação de nave espacial.

"Olá".Casecmp "Hello"
=> 0

O método ignora a sensibilidade ao caso e compara apenas o conteúdo das strings.

7: Comparação de faixa

Para comparar se um personagem está dentro de um intervalo específico, podemos usar o operador de intervalo, doado usando sinais iguais triplos ===

("A" ... "g") === "D"
=> true
("A" ... "g") === "Z"
=> false

O operador retorna true se o personagem estiver no intervalo e falso se o contrário.

Conclusão

Neste guia, discutimos várias maneiras de comparar strings na linguagem rubi.

Obrigado pela leitura!