用于shell风格接口的Ruby手柄向上箭头



我正在用ruby实现一个简单的shell风格接口,如下所示:

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

如果我按向上箭头,我得到^[[A]。无论如何要实现这将在shell中完成,它填充在前面的命令?

应该使用readline。Ruby有一个实现:http://bogojoker.com/readline/

下面是它的ruby api http://www.ruby-doc.org/stdlib/libdoc/readline/rdoc/index.html

最新更新