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?
# File lib/trollop.rb, line 771
771: def die arg, msg=nil
772: if @last_parser
773: @last_parser.die arg, msg
774: else
775: raise ArgumentError, "Trollop::die can only be called after Trollop::options"
776: end
777: end
The easy, syntactic-sugary entry method into Trollop. Creates a Parser, 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 “
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.
# File lib/trollop.rb, line 708
708: def options args=ARGV, *a, &b
709: @last_parser = Parser.new(*a, &b)
710: with_standard_exception_handling(@last_parser) { @last_parser.parse args }
711: end
If Trollop::options doesn’t do quite what you want, you can create a Parser object and call Parser#parse on it. That method will throw CommandlineError, HelpNeeded and VersionNeeded exceptions when necessary; if you want to have these handled for you in the standard manner (e.g. show the help and then exit upon an HelpNeeded exception), call your code from within a block passed to this method.
Note that this method will call System#exit after handling an exception!
Usage example:
require 'trollop'
p = Trollop::Parser.new 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
end
opts = Trollop::with_standard_exception_handling p do
p.parse ARGV
raise Trollop::HelpNeeded if ARGV.empty? # show help screen
end
Requires passing in the parser object.
# File lib/trollop.rb, line 737
737: def with_standard_exception_handling parser
738: begin
739: yield
740: rescue CommandlineError => e
741: $stderr.puts "Error: #{e.message}."
742: $stderr.puts "Try --help for help."
743: exit(1)
744: rescue HelpNeeded
745: parser.educate
746: exit
747: rescue VersionNeeded
748: puts parser.version
749: exit
750: end
751: end
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?
# File lib/trollop.rb, line 771
771: def die arg, msg=nil
772: if @last_parser
773: @last_parser.die arg, msg
774: else
775: raise ArgumentError, "Trollop::die can only be called after Trollop::options"
776: end
777: end
The easy, syntactic-sugary entry method into Trollop. Creates a Parser, 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 “
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.
# File lib/trollop.rb, line 708
708: def options args=ARGV, *a, &b
709: @last_parser = Parser.new(*a, &b)
710: with_standard_exception_handling(@last_parser) { @last_parser.parse args }
711: end
If Trollop::options doesn’t do quite what you want, you can create a Parser object and call Parser#parse on it. That method will throw CommandlineError, HelpNeeded and VersionNeeded exceptions when necessary; if you want to have these handled for you in the standard manner (e.g. show the help and then exit upon an HelpNeeded exception), call your code from within a block passed to this method.
Note that this method will call System#exit after handling an exception!
Usage example:
require 'trollop'
p = Trollop::Parser.new 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
end
opts = Trollop::with_standard_exception_handling p do
p.parse ARGV
raise Trollop::HelpNeeded if ARGV.empty? # show help screen
end
Requires passing in the parser object.
# File lib/trollop.rb, line 737
737: def with_standard_exception_handling parser
738: begin
739: yield
740: rescue CommandlineError => e
741: $stderr.puts "Error: #{e.message}."
742: $stderr.puts "Try --help for help."
743: exit(1)
744: rescue HelpNeeded
745: parser.educate
746: exit
747: rescue VersionNeeded
748: puts parser.version
749: exit
750: end
751: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.