1

最近、Ruby スクリプトを .EXE に変換するときに問題が発生しました。これは、File.writeステートメントが含まれているためです。ドキュメントにはwriteメソッドについては言及されていませんが、私が

pp File.methods

それはそこにあります。だから私は使用する必要がありますFile.writeか?通常のRubyスクリプトでは、次のように動作します

File.write("test.txt", "test")

しかし、それは良い習慣であり、ドキュメントで言及されていないのはなぜですか?

4

1 に答える 1

4

File.write実際にはIO.write(Fileの子であるIO) であり、モンキー パッチで検証できます。

class IO
  def IO.write
    puts "IO's class method write was called."
  end
end

File.write # outputs "IO's class method write was called."

それはドキュメンテーションに非常によく載っています。

したがって、使用しない理由はないと思います。

于 2012-05-11T09:50:20.993 に答える