Рубиновая стрелка вверх для интерфейса в стиле оболочки - PullRequest
2 голосов
/ 13 апреля 2011

Я реализую простой интерфейс в стиле оболочки в ruby ​​следующим образом:

exit = false
while(not exit)
        print '?> '
        case gets("\n").strip
        when "quit"
                exit = true
        when "xxx"
            #handle xxx command 
        end
end

Если я нажму стрелку вверх, я получу ^ [[A. Есть ли способ реализовать это так, как это будет сделано в оболочке, где она заполняет предыдущую команду?

1 Ответ

4 голосов
/ 13 апреля 2011

Вы должны использовать readline для этого. В Ruby есть реализация: http://bogojoker.com/readline/

Вот API-интерфейс для ruby ​​http://www.ruby -doc.org / stdlib / libdoc / readline / rdoc / index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...