символ чтения рубина в терминале cygwin - PullRequest
2 голосов
/ 06 сентября 2011

Я пытаюсь прочитать по одному символу за раз в рубине, запущенном в cygwin.

STDIN.getc возвращает символы, но только после нажатия клавиши ввода:

STDOUT.sync = true
while true
    STDIN.getc
    puts "HELLO"
    STDOUT.flush
end

тестовая сессия:

aa
HELLO
HELLO
HELLO

Как я могу прочитать символ?

1 Ответ

0 голосов
/ 17 февраля 2012

использовать io-console, позже Ruby1.9.3

require 'io/console'

# input 3 chars and escape

buf = ''
3.times do
  buf << STDIN.getch
end

print "Your input is '#{buf}'"
...