我有一個文本文件,路徑名爲file
,以及我想附加到它的一些內容string
。我想要做一些接近Unchomping一個文件,然後附加一個字符串
File.open(file, "a"){|io| io.puts(string)}
但如果文件的原始內容不以底線字符$/
結束了,我要插入一個string
之前。什麼是最有效的方法來做到這一點?
我有一個文本文件,路徑名爲file
,以及我想附加到它的一些內容string
。我想要做一些接近Unchomping一個文件,然後附加一個字符串
File.open(file, "a"){|io| io.puts(string)}
但如果文件的原始內容不以底線字符$/
結束了,我要插入一個string
之前。什麼是最有效的方法來做到這一點?
File.open(file, 'r+') do |f|
unless (last = f.readlines[-1]) && last.end_with?($/)
f.puts $/
end
f.puts string
end
我雖然答案看起來像這樣,但沒有考慮使用'r +'模式。 – sawa