Ruby Shoes GUI: постоянное обновление параграфов
Набор GUI для обуви для Ruby кажется действительно хорошим и простым способом добавления графического интерфейса в мои различные сценарии, но, ударившись головой об него, я не могу заставить абзац постоянно обновляться с помощью цикла.
Вот мой минимальный код, чтобы показать, что я пытаюсь сделать:
Shoes.app do
stack do
@exit = button "Exit"
@log = stack { para "Logging goes here..." }
@exit.click { exit }
end
loop do
sleep 1
contents = `ls`
@log.append { para contents }
end
end
Но это просто блокирует навсегда, и мой GUI никогда не появляется, пока я не убью процесс ruby, когда появится вся моя информация.
Я попытался поместить цикл проверки «содержимого» и добавить его в отдельный класс, в его собственный цикл «стек» или «поток», попытался передать @log методу отдельного класса согласно заголовку «Перенаправление блока» в Shoes. Правила (http://shoesrb.com/manual/Rules.html), до сих пор нет радости после того, как все, что я могу придумать. Любые идеи, как я могу заставить это работать? Я думаю, у меня просто нет полного понимания того, как Shoes настраивает GUI.