Ruby'de bir dizeyi başkaları ile karşılaştırmamı sağlayan bir yöntem var mı? Gerçekten böyle bir şey yapmak istiyorum:Dize ile diğer dizelere karşı nasıl karşılaştırılır
myString.eql?(["string1","string2","string3"])
Ruby'de bir dizeyi başkaları ile karşılaştırmamı sağlayan bir yöntem var mı? Gerçekten böyle bir şey yapmak istiyorum:Dize ile diğer dizelere karşı nasıl karşılaştırılır
myString.eql?(["string1","string2","string3"])
["string1","string2","string3"].include? myString
Sen dizi dize içerip içermediğini Array#include?
kullanabilirsiniz:
%w(string1 string2 string3).include?(myString)
Bu kelime ayırıcı öyle, çok temiz. – iono
Kendimi çok bu isteyen bulmak, bu yüzden string yöntemi daha deyimsel bunu yapabilmek için eklenen: Sonra
class String
def among?(*array)
array.flatten.include?(self)
end
end
myString.among?("string1","string2","string3")
bu eşitlik karşılaştırması değil – Filippos
@Filippos: Ne demek istiyorsun? – mipadi
Yani, eğer myString "s" ise, o zaman siz de doğru olursunuz. Bunun yerine OP eşitlik istedi. Yalnızca, myString "string1", "string2" veya "string3" öğelerinden biri ise true olmalıdır. @mipadi – Filippos