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

时间:2015-01-12 04:51:07

标签: ruby shoes

我一直在制作鞋子和红宝石的文本编辑器,但遇到了问题。 我可以完全打开文件,但是当我尝试保存文件时,我无法将文本框的内容写入文件。

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

1 个答案:

答案 0 :(得分:2)

在谈到使用鞋子时我很生气但你的File.open似乎有些偏差。使用.open打开文件时,文件将传递到代码块中。因此,在这种情况下,f是您要写入的文件。你可能正在寻找类似的东西:

File.open(file, "w+") do |f|
  @file.text = f.write(@box.text)
end