无法将Ruby块放入文件中



请帮忙,我被困在这里---

irb> a = "line of textn  line twon  line three"
irb> system("cat > test_file << #{a}")
cat: of: No such file or directory
cat: text: No such file or directory
=> false

向名为"testfile"的文件写入:

File.open("testfile", "w") do |io| io.print a done

您需要引用插值参数:

system("cat > test_file << "#{a}"")

而且,cat需要一个文件名,而不是一些文本来附加到test_file,所以,这将按照我认为你想要的方式工作:

system("echo "#{a}" >> test_file")

如果你想在纯Ruby中做到这一点,请告诉我,我会给你一个例子。

JesperE已经涵盖了直接写入文件。要写入进程(在本例中为"cat"进程),请使用popen。

IO.popen("cat > foo", "w") do
    |f|
    f.write("line1nline2n")
end

相关内容

  • 没有找到相关文章

最新更新