У меня есть простая задача, которая должна ждать, когда что-то изменится в файловой системе (это по существу компилятор для прототипов). Таким образом, у меня есть простой бесконечный цикл с 5-секундным сном после проверки изменений файлов.
loop do
# if files changed
# process files
# and puts result
sleep 5
end
Вместо приветствия Ctrl+C
, я бы предпочел проверить и посмотреть, нажат ли ключ, не блокируя цикл. По сути, мне просто нужен способ узнать, есть ли входящие нажатия клавиш, затем способ захватить их до тех пор, пока Q не будет удовлетворен, а затем выйдите из программы.
Я хочу:
def wait_for_Q
key_is_pressed && get_ch == 'Q'
end
loop do
# if files changed
# process files
# and puts result
wait_for_Q or sleep 5
end
Или, это что-то, что Ruby просто не делает (ну)?