我有阵列GET数组值bucle为
numbers = [ 1, 2, 3, 4, 5, 6 ]
我有一个变量:
number = 4
我想和一个循环或每个块返回false除非这种情况下,数字4中存在阵列。
numbers.each do |number_bucle|
return false unless number_bucle == number
end
,但我得到的错误...
LocalJumpError:25:在irb_binding”
我有阵列GET数组值bucle为
numbers = [ 1, 2, 3, 4, 5, 6 ]
我有一个变量:
number = 4
我想和一个循环或每个块返回false除非这种情况下,数字4中存在阵列。
numbers.each do |number_bucle|
return false unless number_bucle == number
end
,但我得到的错误...
LocalJumpError:25:在irb_binding”
除非你正在做的事情在你从张贴在这里隐藏块一样,你为什么不只是做:
return false if numbers.include? number
至于原因,你得到一个LocalJumpError
有:如果你的代码是不是在一个方法然后没有任何东西可以返回(或者换句话说:没有任何东西跳回到)。在这种情况下,你可能想设置一个变量,而不是回报,你会想做的事:
is_included = numbers.include? number
谢谢你,它工作正常。这个回应是完美的。谢谢 – hyperrjas 2012-02-07 19:39:22
正如其他人所说,你应该使用#include?
检查列入。还可以看看#any?
和#all?
,它可用于检查集合中的任何或所有元素是否与特定块匹配。
此代码是否为了在此处发布而被混淆?因为有更好的方法来确定一个数组是否包含一个值。 – 2012-02-07 19:34:26
你认为你从哪里回来? – meagar 2012-02-07 19:40:19