4 回答

TA貢獻1834條經驗 獲得超8個贊
您可以使用簡短版本:
File.write('/path/to/file', 'Some glorious content')
它返回寫入的長度;有關更多詳細信息和選項,請參見:: write。
要附加到文件(如果已經存在),請使用:
File.write('/path/to/file', 'Some glorious content', mode: 'a')

TA貢獻1786條經驗 獲得超11個贊
在大多數情況下,這是首選方法:
File.open(yourfile, 'w') { |file| file.write("your text") }
當將一個塊傳遞給File.open時,該塊終止時File對象將自動關閉。
如果您沒有將塊傳遞給File.open,則必須確保文件已正確關閉并且內容已寫入文件。
begin
file = File.open("/tmp/some_file", "w")
file.write("your text")
rescue IOError => e
#some error occur, dir not writable etc.
ensure
file.close unless file.nil?
end
您可以在文檔中找到它:
static VALUE rb_io_s_open(int argc, VALUE *argv, VALUE klass)
{
VALUE io = rb_class_new_instance(argc, argv, klass);
if (rb_block_given_p()) {
return rb_ensure(rb_yield, io, io_close, io);
}
return io;
}
- 4 回答
- 0 關注
- 923 瀏覽
添加回答
舉報