通过ruby中循环内的函数移动到循环的下一次迭代

时间:2015-11-23 10:29:14

标签: ruby for-loop next

我正在尝试编写一段代码,我可以在循环中调用的方法内移动到循环的下一次迭代。

在示例代码中,这就是我想要做的事情

def my a
    if a > 3
        next
    end
end

x = [1,2,3,4,5,6,7]

for i in x
    my i
    print i
end

这会产生语法错误。

实现这一目标的一种方法是引发错误并捕获它。

def my a
    if a > 3
        raise "Test"
    end
end

x = [1,2,3,4,5,6,7]

for i in x
    begin
        my i
        print i
    rescue Exception => e
        #do nothing
    end
end

但例外是昂贵的。我不想从函数返回任何东西或在函数中设置标志变量,因为我想保持代码清理这些标志。

有什么想法吗?

0 个答案:

没有答案