2011-11-26 60 views

回答

3

那么,你期望什么样的答案? IO没有任何类方法,称为write。最多有binwrite实例方法#write

因此,无论您使用binwrite(http://rubydoc.info/stdlib/core/1.9.3/IO.binwrite),或者你使用File类和去的

File.open("testfile.txt", "w") { |f| f << "123" } 

全路编辑:显然有一个IO.write方法从Ruby 1.9.3开始。然而,在1.9或1.8的早期版本中没有这样的方法。

+2

谢谢!我正在阅读1.9.3 ruby​​doc并使用了ruby 1.9.2,它在更新之后现在运行良好。你怎么看到在哪个版本中引入了一种方法? – cande

+0

该文档不包含任何线索。唯一的办法是阅读新版本的更新日志,或者那些聚集了“已更改”博客帖子的更新日志,即使这些日志可能不完整。 –

+0

@cande apidock.com非常有帮助。它显示何时添加/更改方法,还允许人们留下有关其使用的评论/提示。对于IO.write它的http://apidock.com/ruby/v1_9_3_125/IO/write/class –

-3

IO没有“内置”写入方法。 File.write应该做这个工作

+0

也许如果有'File.write'方法。它再次是'File#write',它就是从'IO'继承的'IO#write'方法'File' –

0

有一对夫妇的问题,

  1. IO没有一个类的方法写,它为什么你看到的例外
  2. 如果你想写入一个文件,你应该使用File类

    File.open(“testfile.txt”,“w”)do | file | file.write(“123”) 结束

我想你可能刚刚开始使用Ruby所以它可能是读了一本书,其中红宝石会显示一些这些基础的一个好主意。我曾使用David Flanagan和Matz的“The Ruby Programming Language”,但不少人使用Dave Thomas,Chad Fowler和Andy Hunt所说的Pickaxe书籍或“编程Ruby”。

相关问题