U:RDoc::NormalClass[iI"GetoptLong:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"PThe GetoptLong class allows you to parse command line options similarly to ;TI"Othe GNU getopt_long() C library call. Note, however, that GetoptLong is a ;TI"pure Ruby implementation.;To:RDoc::Markup::BlankLine o; ;[I"LGetoptLong allows for POSIX-style options like --file as well ;TI".as single letter options like -f;T@o; ;[I"LThe empty option -- (two minus symbols) is used to end option ;TI"Mprocessing. This can be particularly important if options have optional ;TI"arguments.;T@o; ;[I"'Here is a simple example of usage:;T@o:RDoc::Markup::Verbatim;[;I"require 'getoptlong'
;TI"
;TI"opts = GetoptLong.new(
;TI"4 [ '--help', '-h', GetoptLong::NO_ARGUMENT ],
;TI"< [ '--repeat', '-n', GetoptLong::REQUIRED_ARGUMENT ],
;TI"3 [ '--name', GetoptLong::OPTIONAL_ARGUMENT ]
;TI")
;TI"
;TI"dir = nil
;TI"name = nil
;TI"repetitions = 1
;TI"opts.each do |opt, arg|
;TI" case opt
;TI" when '--help'
;TI" puts <<-EOF
;TI"hello [OPTION] ... DIR
;TI"
;TI"-h, --help:
;TI" show help
;TI"
;TI"--repeat x, -n x:
;TI" repeat x times
;TI"
;TI"--name [name]:
;TI"A greet user by name, if name not supplied default is John
;TI"
;TI"8DIR: The directory in which to issue the greeting.
;TI" EOF
;TI" when '--repeat'
;TI"" repetitions = arg.to_i
;TI" when '--name'
;TI" if arg == ''
;TI" name = 'John'
;TI" else
;TI" name = arg
;TI" end
;TI" end
;TI" end
;TI"
;TI"if ARGV.length != 1
;TI"0 puts "Missing dir argument (try --help)"
;TI" exit 0
;TI" end
;TI"
;TI"dir = ARGV.shift
;TI"
;TI"Dir.chdir(dir)
;TI"for i in (1..repetitions)
;TI" print "Hello"
;TI" if name
;TI" print ", #{name}"
;TI" end
;TI" puts
;TI" end
;T:@format0o; ;[I"Example command line:;T@o;;[I"hello -n 6 --name -- /tmp;T;0:
@fileI"lib/getoptlong.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[
[
I"
error;TI"R;T:publicFI"lib/getoptlong.rb;T[
I"error?;F@a;F@b[
I"
ordering;TI"R;T;F@b[
I"
quiet;TI"RW;T;F@b[
I"quiet?;FI"RW;T;F@b[U:RDoc::Constant[i I"ORDERINGS;FI"GetoptLong::ORDERINGS;T00o;;[o; ;[I"Orderings.;T;
@];0@]@cRDoc::NormalClass0U;[i I"ARGUMENT_FLAGS;FI"GetoptLong::ARGUMENT_FLAGS;T00o;;[o; ;[I"Argument flags.;T;
@];0@]@@x0U;[i I"STATUS_TERMINATED;FI""GetoptLong::STATUS_TERMINATED;T00o;;[ ;
@];0@]@@x0[ [[I"
class;T[[;[[I"new;T@b[:protected[ [:private[ [I"
instance;T[[;[[I" each;F@b[I"each_option;F@b[I"error_message;F@b[I"get;F@b[I"get_option;F@b[I"ordering=;F@b[I"set_options;F@b[I"terminate;F@b[I"terminated?;F@b[;[[I"set_error;F@b[;[ [ [U:RDoc::Context::Section[i 0o;;[ ;
0;0[@]@]cRDoc::TopLevel