当我运行我的 ruby 文件时
ruby test.rb
其中有一行:
IO.write("testfile.txt","123")
我明白了
test.rb:1:in `<main>': undefined method `write' for IO:Class (NoMethodError)
当我运行我的 ruby 文件时
ruby test.rb
其中有一行:
IO.write("testfile.txt","123")
我明白了
test.rb:1:in `<main>': undefined method `write' for IO:Class (NoMethodError)
那么,你期待什么样的答案呢?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 中都没有这种方法。
有几个问题,
如果要写入文件,则应使用 File 类
File.open("testfile.txt", "w") 做 |file| file.write("123") 结束
我认为您可能刚刚开始使用 Ruby,因此阅读一本关于 Ruby 的书可能是个好主意,该书将展示其中的一些基础知识。我使用过 David Flanagan 和 Matz 的“The Ruby Programming Language”,但也有不少人使用过 Dave Thomas、Chad Fowler 和 Andy Hunt 的 Pickaxe 书或“Programming Ruby”。