【问题标题】:What is the second parameter/argument to CSV.open( ) in ruby?ruby 中 CSV.open() 的第二个参数/参数是什么?
【发布时间】:2013-07-25 18:45:40
【问题描述】:

我认为我在这里遗漏了一些非常明显的东西,但是每个人都为 CSV.open 方法输入的第二个参数是什么,在这种情况下是“wb”,我已经看到其他字母放在这里,但没有人真正解释它的作用。它有什么作用?

CSV.open("path/to/file.csv", "wb") do |csv|
  csv << ["row", "of", "CSV", "data"]
  csv << ["another", "row"]
  # ...
end

ruby 文档似乎没有给出任何解释。 http://www.ruby-doc.org/stdlib-2.0/libdoc/csv/rdoc/CSV.html

谢谢!

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

来自IO Open Mode 文档:

"r" 只读,从文件开头开始(默认模式)。

"r+" 读写,从文件开头开始。

"w" 只写,截断现有文件 长度为零或创建一个新文件进行写入。

"w+" 读写,将现有文件截断为零长度 或者创建一个新的文件进行读写。

"a" 只写,如果文件存在,则从文件末尾开始, 否则会创建一个新文件进行写入。

"a+" 读写,如果文件存在,则从文件末尾开始, 否则创建一个新文件以供读取和 写作。

【讨论】:

  • 对于任何懒得关注链接的人:b 后缀表示“二进制”文件模式(在 Windows 上“抑制 EOL CRLF 转换。并将外部编码设置为 ASCII-8BIT,除非明确指定。"); t 后缀表示“文本”文件模式
【解决方案2】:

文件模式。它描述了如何处理正在打开的文件。

有关 ruby​​ 文件模式的更多信息,请参阅此答案:What are the Ruby File.open modes and options?

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 2010-11-29
    • 2016-03-25
    • 1970-01-01
    • 2012-05-04
    • 2011-10-22
    • 1970-01-01
    • 2016-10-05
    相关资源
    最近更新 更多