2010-10-28 56 views
2

我正在为Windows编写Ruby程序,并且需要从键盘(stdin)读取用户输入。如何在Windows控制台中禁用stdin回显

然而,它在需要用户按键将不会在Windows控制台自动显示,其行为与“静音按键”

这个问题在红宝石在Linux中,可以使用“的stty”来解决linux命令:

%x{stty -icanon -echo} 

,因为它是Linux终端谁自动将用户密钥输出到终端,因此运行“的stty”命令告诉终端停止显示用户键按压。

但我的程序必须在Windows中运行,所以我试图寻找适用于Windows控制台“stty的”等效命令,但仍发现夹...

?任何建议,指针?

回答

2

看看Highline宝石。为了澄清,请看ask方法,并提供一个块以使其输出消失。这是很好的例子documentation

+0

你可能是一个更具体的litle?我已阅读Highline的宝石,但没有发现“明亮的解决方案”... – zipizap 2010-11-02 09:03:37

+0

添加更多的细节,在提供的链接,你可以只需点击文档。 – 2010-11-03 21:52:36

+0

谢谢。实际上,从那以后我也找到了rb-readline的宝石,现在我看到,在纯运气的情况下,我也收到了你的回答 - 所以我非常感激你:) – zipizap 2011-05-05 17:35:09