我正在创建一个小脚本,将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
是的,这是一堂课,是的,我会把它从课堂上拿走。
答案 0 :(得分:5)
请注意exec()
实际上替换当前的过程映像,从而在第一次迭代时有效地退出程序。您可能希望切换为使用system()
。