Ruby 限制块循环?
我有以下代码Ruby 限制块循环?,ruby,loops,block,Ruby,Loops,Block,我有以下代码 parser = AppleEpf::Parser.new('tmp/incremental/itunes20130410/application') parser.process_rows { |app| Resque.enqueue(AddApp, app) } 现在,该文件(tmp/incremental/itunes…)中有90000多行。出于测试目的,最好将process\u rows块调用限制为仅几行(比如…100) 有没有办法限制块中的循环 以下是gem中的pr
parser = AppleEpf::Parser.new('tmp/incremental/itunes20130410/application')
parser.process_rows { |app|
Resque.enqueue(AddApp, app)
}
现在,该文件(tmp/incremental/itunes…
)中有90000多行。出于测试目的,最好将process\u rows
块调用限制为仅几行(比如…100)
有没有办法限制块中的循环
以下是gem中的process\u rows
方法供参考:
def process_rows(&block)
File.foreach( @filename, RECORD_SEPARATOR ) do |line|
unless line[0].chr == COMMENT_CHAR
line = line.chomp( RECORD_SEPARATOR )
block.call( line.split( FIELD_SEPARATOR, -1) ) if block_given?
end
end
end
我想你在找
break
关键字。我想你在找break
关键字。你可能在找break
命令
在任何Ruby循环中,您都可以使用此指令停止执行并返回(或不返回)某些内容,因此您可以像这样使用它:
loop do
do_something_great
break if some_condition
end
控制你的执行
ruby doc的一个永远受欢迎的链接:您可能正在寻找
break
命令
在任何Ruby循环中,您都可以使用此指令停止执行并返回(或不返回)某些内容,因此您可以像这样使用它:
loop do
do_something_great
break if some_condition
end
控制你的执行
ruby doc的一个始终受欢迎的链接:您可以使用
yield
而不是block。如果您谈论的是提供给方法的默认块,请调用
。如果您谈论的是提供给方法的默认块,则可以使用yield
而不是block。如果您谈论的是提供给方法的默认块,请调用
。