Techioz Blog

Rubyでファイルを作成する方法

概要

新しいファイルを作成しようとしていますが、期待どおりに動作していないようです。私が試したことは次のとおりです。

File.new "out.txt"
File.open "out.txt"
File.new "out.txt","w"
File.open "out.txt","w"

私がオンラインで読んだすべてによると、それらはすべて機能するはずですが、どれも次のような結果になります。

ERRNO::ENOENT: No such file or directory - out.txt

これは、Ruby スクリプトだけでなく IRB からも発生します。私には何が欠けているのでしょうか?

解決策

使用:

File.open("out.txt", [your-option-string]) do |f|
    f.write("write your stuff here")
end

オプションは次のとおりです。

あなたの場合、「w」が望ましいです。

または、次のようにすることもできます。

out_file = File.new("out.txt", "w")
#...
out_file.puts("write your stuff here")
#...
out_file.close

…しかし、これには close の呼び出しを忘れるリスクがあります (例外が発生した場合や、早期にリターンした場合など)。