トークスのネタ curses

きっと、初めて自分でまともにかいたrubyかもしれない。

require 'curses'

Curses::init_screen
Curses::setpos(5, 2)
Curses::addstr("hello curses---%s\n" % num)
Curses::refresh
Curses::getch

Curses::addstr("\n")
Curses::refresh

@count = 1

300.times {
  sleep(1)
  if @count % 10 == 0
    if @count % 30 == 0
      fmt = "%d---%d:%2d\n"
      mm = @count / 60
      sec = @count % 60
      ary = [@count, mm, sec]
    else
      fmt = "%d"
      ary = [@count]
    end

    str = fmt % ary
  else
    str = '*'
  end

  Curses::addstr(str)
  Curses::refresh
  @count += 1
}

Curses::addstr("\nFINISH!!\n")
Curses::refresh
Curses::getch
Curses::close_screen