2012-04-01 2 views
2

Я знаю про «a = получает», но мне нужно читать символы с клавиатуры, не нажимая enter. Как это сделать в рубине?Чтение нажатия клавиши с клавиатуры в Ruby

+0

Это вы что искали? http://stackoverflow.com/questions/946738/detect-key-press-non-blocking-wo-getc-gets-in-ruby – moodywoody

+0

http://stackoverflow.com/questions/174933/how-to-get- a-single-character-without-press-enter – joelparkerhenderson

ответ

1

использовать green_shoes камень или просто использовать красные туфли, здесь green_shoes рабочий образец

['green_shoes'].each(&method(:require)) 
Shoes.app do 
e = edit_line 
info = para "NO KEY is PRESSED." 
keypress do |k| 
    info.replace "#{k.inspect} was PRESSED." 
    print k 
end 
end 

Работает на любой ОС, в отличие от гуманного от Detect key press (non-blocking) w/o getc/gets in Ruby Положите вашу обувь на!

+0

Nifty! Спасибо, что поделились этим - это очень разные и аккуратный подход. – joelparkerhenderson

+0

спасибо, я советую хорошо посмотреть на зеленые ботинки, это потрясающе, что вы можете с ним сделать, не могли бы вы принять мой ответ, пожалуйста? – peter

1

Вы можете попробовать STDIN, пожалуйста, проверьте его документ. Это мощный инструмент для управления вашим стандартным входом.

Смежные вопросы