我想将数据(整数)输出到名为stdout.txt的文件中。 麻烦似乎是我的代码覆盖了文件中的现有数据 而不是逐行添加。
if failPlaces.empty? == false
puts "position: #{failPlaces.last}"
output = File.open( "stdout","w" )
output << "#{failPlaces.last}\n"
output.close
else
puts "He Passes it!!!!!!!!!!!!!!!!!"
output = File.open( "stdout","w" )
output << "Pass\n"
output.close
end
我想了解为什么我的代码表现得像这样,解决方案是什么。
答案 0 :(得分:1)
给定名为 stdout.txt 的文件,您可以这样写(请记住使用a
而不是w
)。 w
会覆盖文件中的所有内容,而a
会在文件存在时附加,否则会创建一个新文件。
failPlaces = [1, 2]
if failPlaces.empty?
puts "He Passes it!!!!!!!!!!!!!!!!!"
output = File.open('stdout.txt', 'a')
output << "Pass\n"
output.close
else
puts "position: #{failPlaces.last}"
output = File.open('stdout.txt', 'a')
output << "#{failPlaces.last}\n"
output.close
end