ruby中CSV.open()的第二个参数/参数是什么?

时间:2013-07-25 18:45:41

标签: ruby-on-rails ruby

我想我在这里遗漏了一些非常明显的东西,但是每个人都为CSV.open方法提出的第二个论点是什么,在这种情况下是'wb',我看到其他字母放在这里,但没有人真正解释它的作用。它做了什么?

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

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

谢谢!

2 个答案:

答案 0 :(得分:23)

来自IO Open Mode文档:

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

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

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

“w +”读写,将现有文件截断为零长度      或创建一个新的文件进行阅读和写作。

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

“a +”读写,如果文件存在则从文件末尾开始,      否则会创建一个新文件进行阅读和      写入。

答案 1 :(得分:0)

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

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