在Ruby中循环时是否可以写入文件?我的代码看起来像这样:
navigator.rb
def launch_process
while obj.present?
return something while something_else
end
end
app.rb #launcher
navigator = Navigator.new(args)
var = navigator.launch_process
$file = File.open("output.csv", "a+")
open($file, 'a+') { |file| file.write(var) } # won't work
我们的想法是使用Navigator Object,launch_process方法逐步返回的数据更新CSV文件。
答案 0 :(得分:0)
以下是一个例子:
def launch_process(io)
10.times do |i|
sleep 1
io.puts i
## Uncomment this line if you want to update the file during every iteration
# io.flush
end
end
f = File.open('output.csv','a+')
launch_process(f)
f.close
如果您发布更多代码,则可以更容易地将此循环调整为您的示例。