是否有一種方法可以讓我比較一個字符串與Ruby中的多個其他字符串?我真的想這樣做:如何比較一個字符串與多個其他字符串
myString.eql?(["string1","string2","string3"])
是否有一種方法可以讓我比較一個字符串與Ruby中的多個其他字符串?我真的想這樣做:如何比較一個字符串與多個其他字符串
myString.eql?(["string1","string2","string3"])
["string1","string2","string3"].include? myString
你可以使用Array#include?
看,如果數組包含字符串:
%w(string1 string2 string3).include?(myString)
這個詞分隔符是如此的整潔。 – iono 2013-02-05 04:54:43
我多麼希望自己這個有很多,所以我添加了一個字符串的方法可以做到這一點更地道:
class String
def among?(*array)
array.flatten.include?(self)
end
end
然後
myString.among?("string1","string2","string3")
這不是平等比較 – Filippos 2014-10-14 18:28:52
@菲利波斯:你是什麼意思? – mipadi 2014-10-15 05:05:40
我的意思是,如果myString是「s」,那麼你將得到真正的regadless。相反,OP要求平等。只有當myString是「string1」,「string2」或「string3」之一時,它纔會返回true。 @mipadi – Filippos 2014-10-15 08:27:58