2010-09-22 9 views

Respuesta

48
["string1","string2","string3"].include? myString 
+0

eso no es comparación de igualdad – Filippos

+0

@Filippos: ¿Qué quieres decir? – mipadi

+0

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

14

Usted podría utilizar Array#include? para ver si la matriz incluye la cadena:

%w(string1 string2 string3).include?(myString) 
+0

Ese separador de palabras es tan, tan ordenado. – iono

10

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") 
Cuestiones relacionadas