时间循环不循环

时间:2016-01-26 17:56:28

标签: ruby loops

我正在创建一个小脚本,将10个作业发送到打印机。我正在尝试使用times循环来循环我的一个方法,除非我运行程序时,它不会循环,它只发送一个作业..

示例:

[<user>@<server> ruby]$ ruby clean_printer laser32
request id is laser32-1038115 (1 file(s))
[<user>@<server> ruby]$ 

我做错了什么不会循环..?

来源:

#!/usr/local/bin/ruby

class CleanPrinter

  attr_accessor :printer

  def initialize(printer)
    @printer = printer
  end

  def create_jobs
    exec("lp -d #{@printer} test.txt")
  end

  def loop
    10.times do
      create_jobs
    end
  end
end

test = CleanPrinter.new(ARGV[0])
test.loop

是的,这是一堂课,是的,我会把它从课堂上拿走。

1 个答案:

答案 0 :(得分:5)

请注意exec()实际上替换当前的过程映像,从而在第一次迭代时有效地退出程序。您可能希望切换为使用system()