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::BlankLineo; ;[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[iI"ORDERINGS;FI"GetoptLong::ORDERINGS;T00o;;[o; ;[I"Orderings.;T; @];0@]@cRDoc::NormalClass0U;[iI"ARGUMENT_FLAGS;FI"GetoptLong::ARGUMENT_FLAGS;T00o;;[o; ;[I"Argument flags.;T; @];0@]@@x0U;[iI"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[i0o;;[; 0;0[@]@]cRDoc::TopLevel