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á”O operador de igualdade não se importa, desde que ambos os objetos fornecidos sejam strings válidos
var1 = 'olá'Se as cordas não forem iguais, o operador da igualdade retornará falso.
var1 = "Olá"Você pode fazer mais do que comparar variáveis de string. Você também pode comparar uma string literal como:
"Olá" == "Zero"É bom observar que uma string numérica não é diretamente comparável a um valor inteiro.
2 == "2"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á"Se os valores comparados não forem iguais, ele retornará true como:
"olá" != "Olá"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á”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á”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.0Igual? 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á"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_idUm exemplo de ambos os operando apontando para o mesmo objeto é o que mostrou:
var2 = var1Notaçã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á"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"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"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!