我一直在用鞋子和红宝石做文本编辑器,但遇到了一个问题。我可以完全正常地打开文件,但是当我尝试保存文件时,我无法将文本框的内容写入文件。
Shoes.app :title => "Reditr", :width => 640, :height => 430 do
@box = edit_box :width => 1.0, :height => 400, :text =>'Welcome to Reditr!'
button "Save", :width => 85 do
file = ask_save_file
File.open(file, "w+") do |f|
@file.text = File.write(@box.text)
end
end
button "Open", :width => 75 do
@file = ask_open_file
@box.text = File.read(@file)
@filename.text = @file
end
end
在使用鞋子时我很生疏,但你的File.open
似乎有点不对劲。使用 .open
打开文件时,该文件将传递到代码块中。因此,在这种情况下,您要写入的文件f
。您可能正在寻找类似以下内容的内容:
File.open(file, "w+") do |f|
@file.text = f.write(@box.text)
end