2012-04-01 3 views
2

"a = gets"에 대해 알고 있지만 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-pressing-enter – joelparkerhenderson

답변

1

는에 신발을 넣어 green_shoes 보석을 사용하거나 Detect key press (non-blocking) w/o getc/gets in Ruby 에서 sollution 달리 어떤 OS에 샘플을

['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 

작품을 작업 여기에 빨간색 신발하는 green_shoes를 사용!

+0

Nifty! 이를 공유해 주셔서 감사합니다. 매우 다르며 깔끔한 접근 방식입니다. – joelparkerhenderson

+0

감사합니다. 녹색 신발을 잘 보라고 조언합니다. 그걸로 할 수있는 것이 놀랍습니다. 제 대답을 받아 들일 수 있습니까? – peter

1

STDIN을 사용해 볼 수 있습니다. 해당 문서를 확인하십시오. 표준 입력을 제어하는 ​​강력한 도구입니다.

관련 문제