60447
Rubyについての質問です。  
要素が配列に含まれているかどうか調べる時に、要素, 配列の順番に書けるような書き方はありますか？

具体的には

```

    if [:dog, :cat, :monkey].include? :monkey
      puts "banana"
    end
    
```

の代わりに、

```

    if (:monkey).is_in [:dog, :cat, :monkey]
      puts "banana"
    end
    
```

みたいな書き方です。いい方法があったら教えてください。
CC BY-SA 4.0
2019-11-12T06:46:36.103
60446
2019-11-12T07:27:00.473
32772
question
ruby
要素が配列に含まれているかどうか調べる時に、要素, 配列の順番に書けるような書き方はありますか？
もし、ActiveSupport がある環境であれば `Object#in?` が使えます。

```

    :monkey.in? [:dog, :cat, :monkey]
    => true
    
```

<https://github.com/rails/rails/blob/v3.2.12/activesupport/lib/active_support/core_ext/object/inclusion.rb#L13>
CC BY-SA 4.0
2019-11-12T06:52:48.117
60447
2019-11-12T06:52:48.117
29695
60446
answer
Object クラスに `is_in` メソッドを追加するという方法もあります。

```

    class Object
      def is_in(arg)
        arg.include?(self)
      end
    end
    
```

```

    if (:monkey).is_in [:dog, :cat, :monkey]
      puts "banana"
    end
    => banana
    
    "or".is_in "Hello World"
    => true
    
```
CC BY-SA 4.0
2019-11-12T07:27:00.473
60449
2019-11-12T07:27:00.473
60446
answer