Module Trollop
In: lib/trollop.rb

Methods

die   options  

Classes and Modules

Class Trollop::CommandlineError
Class Trollop::HelpNeeded
Class Trollop::Parser
Class Trollop::VersionNeeded

Constants

VERSION = "1.15"
FLOAT_RE = /^-?((\d+(\.\d+)?)|(\.\d+))$/   Regex for floating point numbers
PARAM_RE = /^-(-|\.$|[^\d\.])/   Regex for parameters

Public Instance methods

Informs the user that their usage of ‘arg’ was wrong, as detailed by ‘msg’, and dies. Example:

  options do
    opt :volume, :default => 0.0
  end

  die :volume, "too loud" if opts[:volume] > 10.0
  die :volume, "too soft" if opts[:volume] < 0.1

In the one-argument case, simply print that message, a notice about -h, and die. Example:

  options do
    opt :whatever # ...
  end

  Trollop::die "need at least one filename" if ARGV.empty?

The top-level entry method into Trollop. Creates a Parser object, passes the block to it, then parses args with it, handling any errors or requests for help or version information appropriately (and then exiting). Modifies args in place. Returns a hash of option values.

The block passed in should contain zero or more calls to opt (Parser#opt), zero or more calls to text (Parser#text), and probably a call to version (Parser#version).

The returned block contains a value for every option specified with opt. The value will be the value given on the commandline, or the default value if the option was not specified on the commandline. For every option specified on the commandline, a key "<option name>_given" will also be set in the hash.

Example:

  require 'trollop'
  opts = Trollop::options do
    opt :monkey, "Use monkey mode"                     # a flag --monkey, defaulting to false
    opt :goat, "Use goat mode", :default => true       # a flag --goat, defaulting to true
    opt :num_limbs, "Number of limbs", :default => 4   # an integer --num-limbs <i>, defaulting to 4
    opt :num_thumbs, "Number of thumbs", :type => :int # an integer --num-thumbs <i>, defaulting to nil
  end

  ## if called with no arguments
  p opts # => { :monkey => false, :goat => true, :num_limbs => 4, :num_thumbs => nil }

  ## if called with --monkey
  p opts # => {:monkey_given=>true, :monkey=>true, :goat=>true, :num_limbs=>4, :help=>false, :num_thumbs=>nil}

See more examples at trollop.rubyforge.org.

[Validate]