Взаимодействие пользовательского интерфейса с логикой

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

    Shoes.app do
      button "Run" do
        @label.replace Calculator.add(1,1)
      end
      @label = para "Result will show up here"
   end

У меня также есть класс калькулятора

class Calculator
  def self.add(x,y)
    x+y
  end
end

Как я могу заставить его работать? Я попытался добавить класс в блок «Обувь» (добавив также его в модуль) и имея класс в отдельном требуемом файле, но ничего не работает.

Спасибо.


person Sig    schedule 24.07.2014    source источник
comment
Какая у вас ошибка?   -  person Uri Agassi    schedule 24.07.2014


Ответы (1)


Поместите определение Calculator перед блоком Shoes.app:

class Calculator
  def self.add(x,y)
    x+y
  end
end

Shoes.app do
  button "Run" do
    @label.replace Calculator.add(1,1)
  end
  @label = para "Result will show up here"
end

В противном случае код в блоке Shoes.app не сможет получить доступ к классу Calculator.

перед щелчком

после клика

person falsetru    schedule 24.07.2014
comment
Спасибо, на самом деле я также смог запросить внешний файл, раньше у меня была опечатка. - person Sig; 24.07.2014