-
Notifications
You must be signed in to change notification settings - Fork 0
Basic Usage Example
The DynamicCursesInput gem is designed to be easy to use. Here are some basic usage examples.
This example shows how to capture user input using the DynamicCursesInput gem.
require "curses"
require "dynamic_curses_input"
Curses.init_screen
Curses.start_color
Curses.init_pair(1, Curses::COLOR_WHITE, Curses::COLOR_BLUE)
Curses.stdscr.bkgd(Curses.color_pair(1))
Curses.addstr("Enter your name: ")
name = DynamicCursesInput::InputHandler.catch_input(true)
Curses.addstr("\nYou entered: #{name}")
Curses.getch
Curses.close_screen
In this example, we initialize the curses screen, set the color, and then use the catch_input
method from the InputHandler
class to capture the user's input. The input is then displayed back to the user.
This example shows how to capture user input with echo disabled.
require "curses"
require "dynamic_curses_input"
Curses.init_screen
Curses.start_color
Curses.init_pair(1, Curses::COLOR_WHITE, Curses::COLOR_BLUE)
Curses.stdscr.bkgd(Curses.color_pair(1))
Curses.addstr("Enter your password: ")
password = DynamicCursesInput::InputHandler.catch_input(false)
Curses.addstr("\nYou entered: #{'*' * password.length}")
Curses.getch
Curses.close_screen
In this example, we use the catch_input
method with echo disabled (by passing false
as the argument). This is useful for capturing sensitive information like passwords.
This example shows how to use the shorthand DCI
to call the InputHandler
class.
require "curses"
require "dynamic_curses_input"
Curses.init_screen
Curses.start_color
Curses.init_pair(1, Curses::COLOR_WHITE, Curses::COLOR_BLUE)
Curses.stdscr.bkgd(Curses.color_pair(1))
Curses.addstr("Enter your name: ")
name = DCI.catch_input(true)
Curses.addstr("\nYou entered: #{name}")
Curses.getch
Curses.close_screen
In this example, we use DCI.catch_input(true)
to capture the user's input. DCI
is the shorthand for DynamicCursesInput
that is included in the gem by default.