Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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 限制块循环?_Ruby_Loops_Block - Fatal编程技术网

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。如果您谈论的是提供给方法的默认块,请调用