1

バグに遭遇したときにプログラムを実行して、バグをテキストファイルに自動的に書き込むことができるように、Ruby プログラムにバグログを作成しようとしています。すべてをファイルに書き込むことができましたが、新しいバグを入力するたびにファイルが上書きされ、一度に 1 つのエントリしか保持できません。

これまでの私のコードは次のとおりです。

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
4

1 に答える 1

7

これは、ファイルを「w」モードで開いているために発生します。これは、ファイルにすでに存在するものに追加する「a」(「追加」)モードではなく、ファイルを上書きします。

この行を変更してみてください:

File.open('Bug_Log.txt', 'w') do |write|

これに:

File.open('Bug_Log.txt', 'a') do |write|
于 2012-11-13T00:47:32.700 に答える