Path: | lib/parsearg.rb |
Last Update: | Wed Oct 19 22:21:45 +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