簡體   English   中英

IO:Class的Ruby未定義方法“寫入”(NoMethodError)

[英]Ruby undefined method `write' for IO:Class (NoMethodError)

當我運行我的紅寶石文件時

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" }

編輯:顯然有一個從Ruby 1.9.3開始的IO.write方法。 但是,在任何較早的1.9或1.8版本中都沒有這種方法。

有幾個問題,

  1. IO沒有編寫類方法,這就是為什么您看到異常的原因
  2. 如果要寫入文件,則應使用File類

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

我認為您可能剛開始使用Ruby,因此最好閱讀一本有關紅寶石的書籍,其中會介紹其中的一些基礎知識。 我使用過David Flanagan和Matz的“ Ruby編程語言”,但是很多人使用了Dave Thomas,Chad Fowler和Andy Hunt所著的Pickaxe書或“ Programming Ruby”。

IO沒有“內置”寫入方法。 File.write應該做這個工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM