STDIN.getc锁定我的应用程序

时间:2009-06-03 09:07:59

标签: windows ruby curses

我有以下代码

class TimeReport
  def run
    init_screen
    lines = Curses::lines
    cols  = Curses::cols
    read=""

    begin
      crmode
      noecho

      gotoDay  diaActual.data.to_s #loads the screen with data

      while !read.eql?("q")
        printPrompt #simply prints the command prompt
        read=STDIN.getc
        printOnSpot 10,10,read.to_s #prints what was read

        if(!read.empty? && !read.strip.empty?)
          processPrompt(read,@ecra) # process the read command
          else
          printInfo "Say What??" 
          end
      end

    ensure

    echo
    nocrmode
    close_screen
    end
  end
end
TimeReport.new.run

当我尝试运行应用程序时,应用程序会锁定并且不会启动屏幕。 如果我使用Curses.getch,则不会发生此问题。

任何人都可以告诉我为什么会这样吗?以及解决问题的方法?

1 个答案:

答案 0 :(得分:1)

这就是为什么你不应该混合使用Curses和STDIN