¿Hay algún método que me permita comparar una cadena con varias otras en Ruby? Realmente me gustaría hacer algo como esto:Cómo comparar una cadena con varias otras cadenas
myString.eql?(["string1","string2","string3"])
¿Hay algún método que me permita comparar una cadena con varias otras en Ruby? Realmente me gustaría hacer algo como esto:Cómo comparar una cadena con varias otras cadenas
myString.eql?(["string1","string2","string3"])
["string1","string2","string3"].include? myString
Usted podría utilizar Array#include?
para ver si la matriz incluye la cadena:
%w(string1 string2 string3).include?(myString)
Ese separador de palabras es tan, tan ordenado. – iono
me encuentro queriendo esto mucho, por lo que se ha añadido un método de String para poder hacerlo más idiomáticamente:
class String
def among?(*array)
array.flatten.include?(self)
end
end
Entonces
myString.among?("string1","string2","string3")
eso no es comparación de igualdad – Filippos
@Filippos: ¿Qué quieres decir? – mipadi
Quiero decir que si myString es "s", entonces obtendrás un verdadero regadless. En cambio OP pidió igualdad. Debería devolver verdadero solo si myString es uno de "string1", "string2" o "string3". @mipadi – Filippos