检查数组中是否包含单词

时间:2013-03-31 16:29:03

标签: ruby-on-rails ruby

我在IRB上尝试了这个,但找不到解决方案:

irb(main):001:0> STATUS = %w(draft public)
=> ["draft", "public"]
irb(main):003:0> s = "draft"
=> "draft"
irb(main):004:0> s.include?(STATUS)
TypeError: can't convert Array into String
    from (irb):4:in `include?'
    from (irb):4
    from /Users/SO/.rbenv/versions/1.9.3-p374/bin/irb:12:in `<main>'

怎么了?感谢。

3 个答案:

答案 0 :(得分:4)

反过来说。

STATUS.include?(s)

答案 1 :(得分:3)

depa是正确的,它是相反的;但是,Rails还通过ActiveSupport提供in?方法,允许您使用s.in?(STATUS),如果这对您更有意义。

答案 2 :(得分:0)

你得到了接收器和相反的参数。检查你的标题:你在被动中写了“一个单词包含在数组中”。如果它处于活动状态,则表示“数组包含一个单词”或the_array.include?(a_word),而不是a_word.include?(the_array)