Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 获取循环的数组值_Ruby On Rails_Ruby_For Loop_Each - Fatal编程技术网

Ruby on rails 获取循环的数组值

Ruby on rails 获取循环的数组值,ruby-on-rails,ruby,for-loop,each,Ruby On Rails,Ruby,For Loop,Each,我有一个数组 numbers = [ 1, 2, 3, 4, 5, 6 ] 我有一个变量: number = 4 我希望使用循环for或每个块返回false,除非数组中存在此情况的数字4 numbers.each do |number_loop| return false unless number_loop == number end 但我有一个错误: LocalJumpError:意外返回 from(irb):25:in'block in irb_binding'尝试:

我有一个数组

numbers = [ 1, 2, 3, 4, 5, 6 ]
我有一个变量:

number = 4
我希望使用循环for或每个块返回false,除非数组中存在此情况的数字4

numbers.each do |number_loop| 
    return false unless number_loop == number   
end
但我有一个错误:

LocalJumpError:意外返回 from(irb):25:in'block in irb_binding'

尝试:

 numbers.include?(number)

它应该会起作用。

除非你在区块中做了一些其他的事情,而这些事情是你隐藏在这里的,你为什么不做:

return false if numbers.include? number
至于您在那里得到
LocalJumpError
的原因:如果您的代码不在某个方法中,那么就没有任何可返回的内容(或者换句话说,没有可返回的内容)。在这种情况下,您可能试图设置一个变量而不是返回,并且您希望执行以下操作:

is_included = numbers.include? number

正如其他人提到的,您应该使用
#include?
检查是否包含。还可以查看
#any?
#all?
,它们可用于检查集合中的任何或所有元素是否与某个块匹配。

在此处发布时是否混淆了此代码?因为有更好的方法来确定数组是否包含值。你认为你从中返回的是什么?谢谢,它工作得很好。这是一个完美的回答。非常感谢。