有什么区别......
File.open('abc', 'w') { |f| f.puts 'abcde' }
...和...
File.open('abc', 'w') { |f| f.write 'abcde' }
...?
puts附加换行符,写入不换行.从技术上讲,如果最后没有一个记录分隔符,则会将记录分隔符(通常是换行符)附加到输出.只输出给出的输出.
在这种情况下,我总是从Ruby Core文档开始,在本例中是IO类.
ios.puts(obj, ...) => nil
将给定的对象写入ios,如同
IO#print
.在没有以换行符结束的任何内容之后写入记录分隔符(通常是换行符).如果使用数组参数调用,则将每个元素写入新行.如果不带参数调用,则输出单个记录分隔符.
ios.write(string) => integer
将给定的字符串写入ios.必须打开流才能写入.如果参数不是字符串,则将使用转换为字符串
to_s
.返回写入的字节数.