我正在尝试在ruby中编写一些代码,它允许我将测试的输出打印到控制台并将相同的输出打印到文件中。我目前在下面这样做的方式似乎是多余的。
f = File.open("ExampleText.txt", "w")
if example1 > example2 then
print("Do it")
f.print("Do it")
else
print("Don't do it")
f.print ("Don't do it")
end
答案 0 :(得分:0)
您可以编写一个简单的方法来执行您正在执行的操作,并在您的条件中调用该方法。这里:
def write_and_display(str, file)
puts str
file.puts str
end
f = File.open("ExampleText.txt", "w")
if example1 > example2
write_and_display("do this", f)
else
write_and_display("dont do it", f)
end
或者,您也可以编写一个将写入多个IO对象的伪IO类。在此SO讨论的内容:https://stackoverflow.com/a/6407200/3035830