들어오는 연결을 지속적으로 듣고 콘솔로 출력하는 루프는 while
입니다. 나는 출력에 영향을 미치지 않고 콘솔을 통해 명령을 내릴 수 있기를 원합니다. 나는 시도했다 :스크립트를 일시 중지하지 않고 STDIN 입력을 어떻게들을 수 있습니까?
Thread.new do
while true
input = gets.chomp
puts "So I herd u sed, \"#{input}\"."
#Commands would be in this scope
end
end
그러나 입력이 수신 될 때까지 스크립트 전체가 일시 중지 된 것으로 보인다. 그리고 나서조차도,이 스레드가 실행되기 전에 시작한 스레드는 실행되지 않는 것 같습니다. 나는 TCPSocket의 select()
메소드를 사용하지 않으려 고 노력했다.
'i' 루프는 입력을 한 후에 만 실행됩니다. :/ – Salt
그런 경우에, Ruby on Windows는 짜증이납니다. :/ –
죄송합니다. 1.9.2 대신 1.8.6을 사용하고있는 것 같습니다. 나는 그것을 업데이트했고 이제는 완벽하게 작동하고있다. :) 감사! – Salt