From 14461ddae6530c5574e9899a42c92817b180d3d2 Mon Sep 17 00:00:00 2001 From: knu Date: Wed, 13 Mar 2002 09:44:59 +0000 Subject: [PATCH] * lib/getopts.rb: single_options can be nil[*], and is not not optional. ([*]Pointed out by gotoken) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ doc/NEWS | 11 +++++++++++ lib/getopts.rb | 4 ++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4d37e64694..8751203384 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Mar 13 18:36:55 2002 Akinori MUSHA + + * lib/getopts.rb: single_options can be nil[*], and is not not + optional. ([*]Pointed out by gotoken) + Tue Mar 12 17:12:06 2002 Tanaka Akira * lib/resolv.rb: don't complete domains for absolute FQNs. diff --git a/doc/NEWS b/doc/NEWS index b875e5b5f7..bd3e7feb25 100644 --- a/doc/NEWS +++ b/doc/NEWS @@ -1,3 +1,14 @@ +: getopts.rb + + Rewrote to fix some bugs and complete features. + - Accept options with the colon in the first argument; + getopts("a:bcd:") is equivalent to getopts("bc", "a:", "d:"). + - Do not discard the argument that caused an error. + - Do not discard '-', which commonly stands for stdin or stdout. + - Allow specifying a long option with a value using '='. + (command --long-option=value) + - Stop reading options when it meets a non-option argument. + : tsort module Imported. Topological sorting library. diff --git a/lib/getopts.rb b/lib/getopts.rb index e29e4211e2..b1cffd9ba0 100644 --- a/lib/getopts.rb +++ b/lib/getopts.rb @@ -18,7 +18,7 @@ $RCS_ID=%q$Header$ -def getopts(single_options = '', *options) +def getopts(single_options, *options) boolopts = {} valopts = {} @@ -31,7 +31,7 @@ def getopts(single_options = '', *options) else valopts[opt[0, 1]] = nil end - end + end if single_options options.each do |arg| opt, val = arg.split(':', 2)