【发布时间】:2011-09-15 15:11:09
【问题描述】:
我正在用 Ruby 实现一个小型 telnet 服务器。我目前面临的问题是我想添加 readline 支持,以便我可以拥有制表符完成和命令行历史记录支持。我查看了Readline 库,但它似乎只能通过标准输入工作。有没有办法在 Ruby 中做到这一点(我注意到Python 的解决方案)?
【问题讨论】:
-
对不起,您尝试在服务器上实现 readline 吗?我相信 readline 是在客户端实现的。
-
Jip,这是我目前的问题。 Readline 仅适用于标准输入(因此,仅适用于客户端)。我想知道是否可以让 readline 通过 telnet 工作,以便我可以为我的 telnet 服务器公开的服务器端命令自动完成等。
-
我不认为 readline 可以在 stdin 以外的任何地方工作。您希望用户使用标准 telnet 客户端进行连接吗?我实际上不确定 telnet 是否支持制表符补全。我认为最直接的方法是简单地实现您自己的客户端并在那里添加带有选项卡完成的 readline 支持。
-
ruby Readline 有 .input= 和 .output= 方法,根据文档,它们应该将文件设置为输入/输出。不过,在我的 1.9.2 安装中,它们似乎被忽略了。
标签: ruby sockets telnet libreadline