2007/4/1, William Morgan <wmorgan-ruby-talk / masanjin.net>: > Trollop version 1.5 has been released! > > http://trollop.rubyforge.org > > 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.5 / 2007-03-31 > * --help and --version do the right thing even if the rest of the > command line is incorrect. > * Added #conflicts and #depends to model dependencies and exclusivity > between arguments. > * Minor bugfixes. > > http://trollop.rubyforge.org > > -- > William <wmorgan-ruby-talk / masanjin.net> > > Hi William, it's indeed a really nice parser. I especially liked how it's small and still very powerful. What do you think it would take to add a groff -> man output generator ? -- Cheers, zimbatm