2010-09-22 77 views

Trả lời

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

không so sánh bình đẳng – Filippos

+0

@Filippos: Ý của bạn là gì? – mipadi

+0

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

14

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) 
+0

Dấu tách từ đó quá, gọn gàng. – iono

10

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") 
Các vấn đề liên quan