2012-02-07 8 views
0

私が持っている配列私は、変数持つGET配列値bucleため

numbers = [ 1, 2, 3, 4, 5, 6 ] 

:私はのためのループまたは各ブロックこの場合の数4が内に存在しない限り、falseを返して欲しい

number = 4 

をアレイ。

numbers.each do |number_bucle| 
return false unless number_bucle == number 
end 

しかし、私はエラー...

LocalJumpError取得:(IRB)から予期しない戻り :25: `ブロックに「

+0

ここに投稿する目的でこのコードは難読化されていますか?配列に値が含まれているかどうかを判断する方法がはるかに優れているためです。 –

+0

あなたはあなたが戻ってきたと思いますか? – meagar

答えて

1

あなたがここに掲示から隠されてきたブロックで何かをやっている場合を除き、なぜあなただ​​け行わない:あなたはそこにLocalJumpErrorを取得した理由については

return false if numbers.include? number 

を:あなたの場合コードがメソッドにない場合は、返すものはありません(または別の方法を入れてください:に何もジャンプしないでください。に戻る)。その場合、あなたはおそらく、リターンではなく、変数を設定しようとしている、とあなたは何をしたいと思います。他の人はあなたが包含のためにチェックするために#include?を使用する必要があります言及している

is_included = numbers.include? number 
+0

ありがとうございますそれはうまく動作します。この応答は完璧です。ありがとうございました – hyperrjas

0

をirb_bindingにして試してみてください:

numbers.include?(number) 

これはうまくいくはずです。

+0

ありがとうございますこれはうまく動作します:D – hyperrjas

0

通り。 #any?#all?も参照してください。コレクション内の要素の一部またはすべてが特定のブロックと一致するかどうかを確認するために使用できます。

関連する問題