вернуть значение при нажатии кнопки в обуви ruby

У меня есть приложение, использующее обувь. В модели у меня

def run()
    query = get_queries
    executeQuery(query)
    run()
end

Затем этот get_queries добавит несколько кнопок в стек, скажем

button "do 1" 
button "do 2" 
button "do 3" 
button "do 4" 

Если пользователь нажимает кнопку, get_queries должен вернуть соответствующий запрос (иногда он может запросить у пользователя дополнительную информацию, поэтому в основном он возвращает массив, содержащий запрос и информацию). И тогда кнопки удаляются.

Однако я не понимаю, как позволить кнопкам возвращать значение для этой функции. Я думал об использовании переменной и проверял, обновляется ли переменная из-за ожидания, но я не думаю, что это эффективный/правильный способ сделать это.

Какие-либо предложения? Или есть другой путь к этому?


person Bones and Teeth    schedule 13.10.2014    source источник


Ответы (1)


Я думаю, вам нужно заставить вашу программу работать несколько иначе. Заставьте get_queries добавлять кнопки в стек, как это делается сейчас, но переместите другие вещи из метода запуска в другой метод, который вызывается только после того, как кнопка получает событие щелчка.

def on_click(button_number)
  executeQuery(button_number)
  run()
end

button "do 1" do
  on_click 1
end

button "do 2" { on_click 2 }
button "do 3" { on_click 3 }
...
person davorb    schedule 14.10.2014