2017-08-01 8 views
0

私はanyを使用しますか?配列内の何かをチェックするメソッド。 (簡略化された例、実際の条件はより複雑です)Rubyでは、anyメソッドを使用して値を返します

%w{ant bear cat}.any? {|word| word == 'cat'} 

trueを返します。しかし、もし私が実際の試合を返そうとしたらどうしますか?例えば上記の "猫"?私はこのようなものを使用することを考えました:

%w{ant bear cat}.any? {|word| (@x=word) == 'cat'} 

しかし、それはいい見えません。このような場合には

+0

あなたが 'いずれかを使用して主張する場合、'あなたを? '%w {ant bear cat} .anyと書くことができますか? {|単語| (@ x = word)== 'cat'} && 'cat''、これは 'false'または' 'cat''を返します。 –

答えて

2
%w{ant bear cat}.find {|word| word == 'cat'} 
# => "cat" 
3

「猫」に等しい最初の要素を返すために、「猫」やfindに等しい要素を返すためにselectを使用します。

p %w{ant bear cat}.find {|word| word == 'cat'} 
# => "cat" 

p %w{ant bear cat}.select {|word| word == 'cat'} 
# => ["cat"] 
関連する問題