Ruby行编辑telnet服务器

| 我正在Ruby中实现一个小的telnet服务器。我当前面临的问题是我想添加阅读行支持,以便获得制表符完成和命令行历史记录支持。我看过Readline库,但似乎只能通过stdin来工作。在Ruby中有什么方法可以做到这一点(我注意到Python的解决方案)?     
已邀请:
        您可以通过将管道插入readline来实现。这是使用ri readline文档中的
while
循环的示例,该循环仅将
command 1
command2
command 3
发送到readline。
require \'readline\'

rd, wr = IO.pipe

(1..3).each do |i|
  wr.puts \"command #{i}\"
end
wr.close

Readline.input = rd
while buf = Readline.readline(\'\', true)
  p Readline::HISTORY.to_a
  print(\"-> \", buf, \"\\n\")
end
输出:
[\"command 1\"]
-> command 1
[\"command 1\", \"command 2\"]
-> command 2
[\"command 1\", \"command 2\", \"command 3\"]
-> command 3
    

要回复问题请先登录注册