我正在用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