Có phương pháp nào cho phép tôi so sánh một Chuỗi với nhiều chuỗi khác trong Ruby không? Tôi thực sự muốn làm một cái gì đó như thế này:Cách so sánh một chuỗi so với nhiều chuỗi khác
myString.eql?(["string1","string2","string3"])
Có phương pháp nào cho phép tôi so sánh một Chuỗi với nhiều chuỗi khác trong Ruby không? Tôi thực sự muốn làm một cái gì đó như thế này:Cách so sánh một chuỗi so với nhiều chuỗi khác
myString.eql?(["string1","string2","string3"])
["string1","string2","string3"].include? myString
Bạn có thể sử dụng Array#include?
để xem nếu mảng bao gồm các chuỗi:
%w(string1 string2 string3).include?(myString)
Dấu tách từ đó quá, gọn gàng. – iono
tôi thấy mình muốn này rất nhiều, vì vậy tôi đã thêm phương thức Chuỗi để có thể làm điều đó một cách tự nhiên hơn:
class String
def among?(*array)
array.flatten.include?(self)
end
end
Sau đó
myString.among?("string1","string2","string3")
không so sánh bình đẳng – Filippos
@Filippos: Ý của bạn là gì? – mipadi
Tôi có nghĩa là nếu myString là "s" thì bạn sẽ nhận được đúng sự thật. Thay vào đó, OP yêu cầu bình đẳng. Nó chỉ trả về true nếu myString là một trong "string1", "string2" hoặc "string3". @mipadi – Filippos