我一直在制作鞋子和红宝石的文本编辑器,但遇到了问题。 我可以完全打开文件,但是当我尝试保存文件时,我无法将文本框的内容写入文件。
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
答案 0 :(得分:2)
在谈到使用鞋子时我很生气但你的File.open
似乎有些偏差。使用.open
打开文件时,文件将传递到代码块中。因此,在这种情况下,f
是您要写入的文件。你可能正在寻找类似的东西:
File.open(file, "w+") do |f|
@file.text = f.write(@box.text)
end