Ruby Highline – Examples
August 1, 2009
Examples
Basic usage:
require "highline/import"
ask("Company? ") { |q| q.default = "none" }
Validation:
ask("Age? ", Integer) { |q| q.in = 0..105 }
ask("Name? (last, first) ")
{ |q| q.validate = /\A\w+, ?\w+\Z/ }
Type conversion for answers:
ask("Birthday? ", Date)
ask("Interests? (comma sep list) ",
lambda { |str| str.split(/,\s*/) })
Reading passwords:
ask("Enter your password: ") { |q| q.echo = false }
ask("Enter your password: ") { |q| q.echo = "x" }
ERb based output (with HighLine‘s ANSI color tools):
say("This should be <%= color('bold', BOLD) %>!")
Menus:
choose do |menu|
menu.prompt = "Please choose your favorite
programming language? "
menu.choice(:ruby) { say("Good choice!") }
menu.choices(:python, :perl)
{ say("Not from around here, are you?") }
end
Reference --> http://highline.rubyforge.org/doc/
October 27, 2011 at 2:54 am
It would be helpful to mention that you must require highline like this:
require “highline/import”
(not very self-explanatory, and not mentioned in the docs.)