私は慣用句をよく使います[1, 2, 3].include? foo
。これには本質的に問題はありませんが、読みやすさのために、 と書けるとよいでしょうfoo.is_in? [1, 2, 3]
。コアまたは標準ライブラリには、これを行うメソッドがありますか?
質問する
41 次
2 に答える
1
いいえ、標準にはそのような方法はありません。独自に実装します。
class Object
def is_in? a
return a.include?(self)
end
end
上記のコードでは、a の型をチェックしていないので、a に がinclude?
定義されていない場合はエラーが発生することに注意してください。
于 2013-03-06T16:07:10.893 に答える
0
あなたが望むのとまったく同じ方法ではありませんが、これを書き直すことができます
if [1, 2, 3].include? foo
do_this
else
do_that
end
これに:
case foo; when 1, 2, 3
do_this
else
do_that
end
于 2013-03-06T16:32:23.543 に答える