Answers:
您在寻找以下物品吗?
File.open(yourfile, 'w') { |file| file.write("your text") }
yourfile
是一个变量,其中包含要写入的文件的名称。
f.write
引发异常,文件描述符将保持打开状态。
File.write('filename', 'content')
IO.write('filename', 'content')
您可以使用简短版本:
File.write('/path/to/file', 'Some glorious content')
它返回写入的长度;有关更多详细信息和选项,请参见:: write。
要附加到文件(如果已经存在),请使用:
File.write('/path/to/file', 'Some glorious content', mode: 'a')
在大多数情况下,这是首选方法:
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;
}
File.open
blog.rubybestpractices.com/posts/rklemme/的更多信息。…官方文档中也提到了该内容
File.open("out.txt", '<OPTION>') {|f| f.write("write your stuff here") }
您可以选择的位置<OPTION>
是:
r
- 只读。该文件必须存在。
w
-创建一个空文件进行写入。
a
-附加到文件。如果文件不存在,则创建该文件。
r+
-打开文件以同时更新读取和写入。该文件必须存在。
w+
-创建一个用于读取和写入的空文件。
a+
-打开文件进行读取和附加。如果文件不存在,则创建该文件。
在您的情况下,w
更可取。
对于那些以身作则学习的人...
将文本写到这样的文件中:
IO.write('/tmp/msg.txt', 'hi')
奖金信息...
像这样读回来
IO.read('/tmp/msg.txt')
通常,我想将文件读入剪贴板***
Clipboard.copy IO.read('/tmp/msg.txt')
其他时候,我想将剪贴板中的内容写入文件***
IO.write('/tmp/msg.txt', Clipboard.paste)
***假设您已安装剪贴板gem
IO.write
选项会覆盖文件内容,而不是覆盖文件内容。附加IO.write有点乏味。
Errno::ENOENT: No such file or directory @ rb_sysopen
消息,并且创建的文件大小为0字节。