| Path: | lib/parsearg.rb |
| Last Update: | Tue May 31 08:06:23 +0000 2011 |
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.)
—
parseArgs is obsolete. Use OptionParser instead.
# 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
# File lib/parsearg.rb, line 19
19: def printUsageAndExit()
20: if $USAGE
21: eval($USAGE)
22: end
23: exit()
24: end
# 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
# 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