2015-01-12 1 views
2

Я работал над текстовым редактором в обуви и рубине, но столкнулся с проблемой. Я могу открыть файлы отлично, но когда я пытаюсь сохранить файл, я не могу записать содержимое текстового поля в файл.Напишите содержимое текстового поля в файл в Shoes.rb

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 

ответ

2

Я ржавый, когда речь заходит об использовании обуви, но ваш File.open кажется немного прочь. Когда вы открываете файл, используя .open, файл передается в блок кода. Итак, в этом случае f - это ваш файл, который вы хотите написать. Вероятно, вы ищете что-то вроде:

File.open(file, "w+") do |f| 
    @file.text = f.write(@box.text) 
end 
Смежные вопросы