Как сравнить строку с несколькими другими строками - PullRequest
28 голосов
/ 22 сентября 2010

Есть ли метод, который позволяет мне сравнивать одну строку с несколькими другими в Ruby?Я действительно хотел бы сделать что-то вроде этого:

myString.eql?(["string1","string2","string3"])

Ответы [ 3 ]

50 голосов
/ 22 сентября 2010
["string1","string2","string3"].include? myString
15 голосов
/ 22 сентября 2010

Вы можете использовать Array#include?, чтобы увидеть, содержит ли массив строку:

%w(string1 string2 string3).include?(myString)
12 голосов
/ 22 сентября 2010

Мне очень хочется этого, поэтому я добавил метод String, чтобы сделать это более идиоматически:

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

Затем

myString.among?("string1","string2","string3")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...