Trollop version 1.1 has been released!
Trollop is YAFCLAP --- yet another fine commandline argument
processing library for Ruby. Trollop is designed to provide the
maximal amount of GNU-style argument processing in the minimum number
of lines of code (for you, the programmer).
Trollop provides a nice automatically-generated help page, robust
option parsing, and sensible defaults for everything you don't
specify.
Synopsis:
###### simple ######
opts = Trollop::options do
opt :monkey, "Use monkey mode."
opt :goat, "Use goat model", :default => true
opt :num_limbs, "Set number of limbs", :default => 4
end
p opts
###### complex ######
opts = Trollop::options do
version "test 1.2.3 (c) 2007 William Morgan"
banner <<-EOS
Test is an awesome program that does something very, very important.
Usage:
test [options] <filenames>+
where [options] are:
EOS
opt :ignore, "Ignore incorrect values"
opt :file, "Extra data filename to read in, with a very long option description like this one", :type => String
opt :volume, "Volume level", :default => 3.0
opt :iters, "Number of iterations", :default => 5
end
Trollop::die :volume, "must be non-negative" if opts[:volume] < 0
Trollop::die :file, "must exist" unless File.exists?(opts[:file]) if opts[:file]
== REQUIREMENTS:
* none
Changes:
== 1.1 / 2007-01-30
* Trollop::options now passes any arguments as block arguments. Since
instance variables are not properly captured by the block, this
makes it slightly less noisy to pass them in as local variables.
(A real-life use for _why's cloaker!)
* Help display now preserves original argument order.
* Trollop::die now also has a single string form in case death is not
due to a single argument.
* Parser#text now an alias for Parser#banner, and can be called
multiple times, with the output being placed in the right position
in the help text.
* Slightly more indicative formatting for parameterized arguments.
···
--
William <wmorgan-ruby-talk@masanjin.net>