2014-06-18 3 views
0

첫 번째 Curses.getstr 호출은 다른 창을 지 웁니다. 이후의 호출에서는 발생하지 않습니다.Curses.getstr이 첫 번째 호출시 창을 지움

require "curses" 

Curses.init_screen 

window = Curses::Window.new(10, 10, 5, 0) 
window.scrollok true 

Thread.new do 
    loop do 
     window.addstr rand(1000000).to_s 
     window.refresh 
     sleep 0.1 
    end 
end 

Curses.setpos 20, 0 
sleep 1 
# now several lines of numbers suddenly disappear 
loop{ Curses.getstr } 

어떻게하면이 문제를 해결할 수 있습니까?

답변

0

getstr()이 실제로 wgetstr(stdscr)이기 때문에 표시되는 내용은 stdscr 창의 암시적인 refresh()입니다.

  1. 수동으로 상쾌한 stdscr 오히려 stdscr보다, 입력을위한 새 창을 사용하여 무엇을
  2. 을 그리기 전에, 및/또는
  3. 출력 stdscr을 사용 : 귀하의 옵션은 다음과 같습니다.

적어도 저주의 기본 C에 대한 대답입니다. Ruby 로의 변환이 확실하지 않습니다.

관련 문제