parsearg.rb

Path: lib/parsearg.rb
Last Update: Tue Jan 17 18:02:17 +0000 2012
              parsearg.rb - parse arguments
                      $Release Version: $
                      $Revision: 11708 $
                      $Date: 2007-02-13 08:01:19 +0900 (Tue, 13 Feb 2007) $
                      by Yasuo OHBA(SHL Japan Inc. Technology Dept.)

Required files

getopts  

Methods

Public Instance methods

parseArgs is obsolete. Use OptionParser instead.

[Source]

    # File lib/parsearg.rb, line 62
62: def parseArgs(argc, nopt, single_opts, *opts)
63:   if (noOptions = getopts(single_opts, *opts)) == nil
64:     printUsageAndExit()
65:   end
66:   if nopt
67:     ex = nil
68:     pos = 0
69:     for o in nopt.split(/[()|&]/)
70:       pos += o.length
71:       ex = setExpression(ex, o, nopt[pos])
72:       pos += 1
73:     end
74:     begin
75:       if !eval(ex)
76:         printUsageAndExit()
77:       end
78:     rescue
79:       print "Format Error!! : \"" + nopt + "\"\t[parseArgs]\n"
80:       exit!(-1)
81:     end
82:   end
83:   if ARGV.length < argc
84:     printUsageAndExit()
85:   end
86:   return noOptions
87: end

[Source]

    # File lib/parsearg.rb, line 19
19: def printUsageAndExit()
20:   if $USAGE
21:     eval($USAGE)
22:   end
23:   exit()
24: end

[Source]

    # File lib/parsearg.rb, line 44
44: def setExpression(ex, opt, op)
45:   if !op
46:     ex = sprintf("%s$OPT_%s", ex, opt)
47:     return ex
48:   end
49:   case op.chr
50:   when "(", ")"
51:     ex = setParenthesis(ex, opt, op.chr)
52:   when "|", "&"
53:     ex = setOrAnd(ex, opt, op.chr)
54:   else
55:     return nil
56:   end
57:   return ex
58: end

[Source]

    # File lib/parsearg.rb, line 35
35: def setOrAnd(ex, opt, c)
36:   if opt != ""
37:     ex = sprintf("%s$OPT_%s %s%s ", ex, opt, c, c)
38:   else
39:     ex = sprintf("%s %s%s ", ex, c, c)
40:   end
41:   return ex
42: end

[Source]

    # File lib/parsearg.rb, line 26
26: def setParenthesis(ex, opt, c)
27:   if opt != ""
28:     ex = sprintf("%s$OPT_%s%s", ex, opt, c)
29:   else
30:     ex = sprintf("%s%s", ex, c)
31:   end
32:   return ex
33: end

[Validate]