【发布时间】:2015-06-20 16:54:54
【问题描述】:
我想知道是否可以使用 Proc 在 Ruby 中跳过迭代?
我写了一段代码
def validation i
pr = Proc.new do |i|
if i < 3
next
end
end
pr.call(i)
end
(1..5).each do |i|
validation i
puts "#{i} is bigger than 3"
end
我期望结果是这样的:
3 is bigger than 3
4 is bigger than 3
5 is bigger than 3
但我得到了:
1 is bigger than 3
2 is bigger than 3
3 is bigger than 3
4 is bigger than 3
5 is bigger than 3
那么是否可以在Proc 中以某种方式使用next 来跳过外部迭代或有其他方式?
【问题讨论】:
标签: ruby iteration metaprogramming next proc