Как отключить стандартный ввод в консоли Windows - PullRequest
2 голосов
/ 28 октября 2010

Я пишу Ruby-программу для Windows, и мне нужно прочитать пользовательский ввод с клавиатуры (stdin).

Однако необходимо, чтобы нажатия клавиш пользователя не отображались автоматически в консоли Windows.и ведут себя как «тихие нажатия клавиш»

Эта проблема в Ruby поверх linux может быть решена с помощью команды "stty" linux:

%x{stty -icanon -echo} 

, потому что это терминал linux, который автоматическивыводит пользовательские ключи в терминал, поэтому выполнение команды "stty" говорит терминалу прекратить показывать нажатия пользовательских клавиш.

Но моя программа должна работать в Windows, поэтому я попытался найти "stty "эквивалентная команда для консоли Windows, но все же найден nip ...

? какие-либо предложения, указатели?

1 Ответ

2 голосов
/ 28 октября 2010

Посмотрите на Highline драгоценный камень. Чтобы уточнить, посмотрите на метод ask и предоставьте блок, чтобы отключить вывод. Это хорошо иллюстрируется в их документации

...