尝试将错误登录到Ruby程序中,这样当我遇到错误时,我可以运行该程序,它会自动将错误写入文本文件。我能够将所有内容写入文件,但每次我输入一个新的bug都会覆盖文件,并且一次只能输入一个条目。
到目前为止,这是我的代码:
print "What is the error message? "
msg = "Error message: " + gets.chomp
print "What does the error mean? "
mean = "Error meaning: "+gets.comp
print "What resolved the error? "
resolved = "Error resolution: " + gets.comp
File.open('Bug_Log.txt', 'w') do |write|
write.puts msg
write.puts mean
write.puts resolved
end
答案 0 :(得分:7)
这种情况正在发生,因为您正在以“w”模式打开文件,该模式将覆盖文件,而不是“a”(“追加”)模式,该模式将附加到文件中已有的文件中。
尝试更改此行:
File.open('Bug_Log.txt', 'w') do |write|
到此:
File.open('Bug_Log.txt', 'a') do |write|