【问题标题】:What's the difference between Ruby's puts and write methods?Ruby 的 puts 和 write 方法有什么区别?
【发布时间】:2010-10-11 08:48:44
【问题描述】:

和...有什么区别

File.open('abc', 'w') { |f| f.puts 'abcde' }

...和...

File.open('abc', 'w') { |f| f.write 'abcde' }

...?

【问题讨论】:

  • @RichB(又名“强迫症编辑”)原来的小写“and”在技术上更正确。这是一个连词,而不是一个新句子的开始。
  • @MarkusQ:Rich B 只是一个自动拖钓机器人。显然他的语法系统需要升级。
  • @Rich - 这实际上不太清楚。回滚。
  • 你们太惨了。

标签: ruby


【解决方案1】:

puts 附加一个换行符, write 没有。从技术上讲,如果最后没有记录分隔符(通常是换行符), puts 会将记录分隔符(通常是换行符)附加到输出中。 write 只输出给定的内容。

【讨论】:

    【解决方案2】:

    在这种情况下,我总是从 Ruby Core 文档开始,在本例中是 IO 类。

    ios.puts(obj, ...) => nil
    

    IO#print一样将给定的对象写入ios。在尚未以换行序列结尾的任何内容之后写入记录分隔符(通常是换行符)。如果使用数组参数调用,则将每个元素写入新行。如果不带参数调用,则输出单个记录分隔符。

    ios.write(string) => integer
    

    将给定的字符串写入 ios。必须打开流以进行写入。如果参数不是字符串,它将使用to_s 转换为字符串。返回写入的字节数。

    【讨论】:

      猜你喜欢
      • 2011-08-22
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 2021-04-25
      • 2012-04-28
      • 1970-01-01
      • 2014-03-07
      相关资源
      最近更新 更多