2010-09-22 8 views

Antwort

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

das ist kein Gleichheitsvergleich – Filippos

+0

@Filippos: Was meinst du? – mipadi

+0

Ich meine, wenn myString "s" ist, dann werden Sie wirklich regadless. Stattdessen hat OP Gleichheit gefragt. Es sollte nur true zurückgeben, wenn myString eines von "string1", "string2" oder "string3" ist. @mipadi – Filippos

14

Sie könnten Array#include? verwenden, um festzustellen, ob das Array die Zeichenfolge enthält:

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

Dieser Worttrenner ist so, so ordentlich. – iono

10

finde ich mich das wollen viel, so dass ich eine String-Methode in der Lage sein es mehr idiomatisch ANLEGEN:

class String 
    def among?(*array) 
    array.flatten.include?(self) 
    end 
end 

Dann

myString.among?("string1","string2","string3") 
Verwandte Themen