Sha256: 238d1b7d63b97020dd3f35f4969974d4d02b0ef208a361cc13f5dbdf74261de9

Contents?: true

Size: 534 Bytes

Versions: 6

Compression:

Stored size: 534 Bytes

Contents

require "curses"

Curses.init_screen
Curses.cbreak
Curses.noecho
Curses.stdscr.keypad = true
at_exit do
  Curses.cloes_screen
end

menu = Curses::Menu.new([
  Curses::Item.new("Apple", "Red fruit"),
  Curses::Item.new("Orange", "Orange fruit"),
  Curses::Item.new("Banana", "Yellow fruit")
])
menu.post

while ch = Curses.getch
  begin
    case ch
    when Curses::KEY_UP, ?k
      menu.up_item
    when Curses::KEY_DOWN, ?j
      menu.down_item
    else
      break
    end
  rescue Curses::RequestDeniedError
  end
end

menu.unpost

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
curses-1.2.7-x86-mingw32 sample/menu.rb
curses-1.2.7-x64-mingw32 sample/menu.rb
curses-1.2.7 sample/menu.rb
curses-1.2.6-x86-mingw32 sample/menu.rb
curses-1.2.6-x64-mingw32 sample/menu.rb
curses-1.2.6 sample/menu.rb