将文本框的内容写入 Shoes.rb 中的文件

Write contents of textbox to file in Shoes.rb

我一直在研究文本编辑器 ruby,但 运行 遇到了问题。 我可以很好地打开文件,但是当我尝试保存文件时,我无法将文本框的内容写入文件。

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