Ruby - 写在寻找的位置

时间:2012-02-07 16:53:46

标签: ruby

目标是将'byebye'替换为'Hello'

# START: file.txt contains string "byebye World!"
fd = File.open('file.txt', 'a')

fd.seek(0, IO::SEEK_SET)
fd.puts 'Hello '
fd.close
# END: file.txt contains two lines "byebye World " and "Hello "

我理解存在其他优秀(和工作:))方法来实现它,但为什么代码不能写在正确的位置?

1 个答案:

答案 0 :(得分:1)

我认为你误解了w +,你可能想要r +作为模式字符串,这就是w +所做的。

w+
Read-write, truncates existing file to zero length or creates a new file for reading and writing.

将现有文件截断为零长度正在吃你的字符串。