[#16154] : and :: — Shin-ichiro HARA <sinara@...>
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
[#16178] Marshal::dump calls Proc#yield? (1.6.7) — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
[#16191] getopts() broken — "Akinori MUSHA" <knu@...>
getopts が最新の 1.6/1.7 で動かなくなっているようなので、
[#16211] pstore.rb and sync.rb — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#16214] net/http.rb version_1_2 not work — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
[#16223] importing racc-runtime — "Akinori MUSHA" <knu@...>
rough にある racc runtime モジュールを眺めていたんですが、
[#16231] LoadLibraryEx vs. LoadLibrary — WATANABE Hirofumi <eban@...>
わたなべです。
[#16240] [Oni Guruma] look behind — nobu.nakada@...
なかだです。
nobu.nakada@nifty.ne.jpさんの
In article <20020307054004.BFADD57D@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvog03clxib.fsf@coulee.a02.aist.go.jp>から
[#16277] Dir::glob(pattern, flags = 0) — "Akinori MUSHA" <knu@...>
しばらく放置していた、
[#16283] ライブラリ拡大計画 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
高橋征義です。
まつもと ゆきひろです
In article <1015827556.101112.6552.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
なかだです。
あおきです。
まつもと ゆきひろです
In article <hvowuwjbo4j.fsf@coulee.a02.aist.go.jp>,
わたなべです。
At Mon, 11 Mar 2002 12:17:12 +0900,
まつもと ゆきひろです
At Wed, 27 Mar 2002 18:56:03 +0900,
まつもと ゆきひろです
At Thu, 28 Mar 2002 00:12:49 +0900,
At Thu, 28 Mar 2002 23:45:49 +0900,
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
At Fri, 29 Mar 2002 20:32:17 +0900,
At Sun, 31 Mar 2002 02:20:04 +0900,
At Sun, 31 Mar 2002 02:20:04 +0900,
なかだです。
わたなべです。
At Fri, 8 Mar 2002 18:05:01 +0900,
まつもと ゆきひろです
なかだです。
In article <20020314133401.3918E10F3@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <20020315050614.C975F10F0@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <20020315160435.7A84B114C@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200204161515.g3GFFjM17207@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200204170729.g3H7TeM15268@sharui.nakada.kanuma.tochigi.jp>,
[#16290] IO#gets improvement — nobu.nakada@...
なかだです。
In article <20020308131426.8C36123B9@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <20020309025151.5405C24F2@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
[#16351] map in printf format — nobu.nakada@...
なかだです。
[#16411] block local var — "K.Kosako" <kosako@...>
Version: 1.7 latest
> コンパイル時点で、ブロック変数かどうかの判定が
[#16422] abort with message — nobu.nakada@...
なかだです。
西山和広です。
[#16423] Re: [ruby-list:34301] Re: Enumerable#inject (Re: しぶらぐっ議事録。) — Koji Arai <JCA02266@...>
新井です。
[#16433] class variable & inheritance & singlton method / 1.6.7 — sinara@...
原です。
[#16454] Re: ext/iconv does not work with iconv 2.0 (FreeBSD) (PR#273) — nobu.nakada@...
なかだです。
[#16486] mswin32 configuration — nobu.nakada@...
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
[#16508] Re: [ruby-cvs] ruby: * mkconfig.rb: don't touch rbconfig.rb if there is a trouble. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
In article <20020320203914.55E9.USA@osb.att.ne.jp>,
[#16514] MAKEFLAGS for ext — nobu.nakada@...
なかだです。
[#16518] ruby-zlib cvs operation — "Akinori MUSHA" <knu@...>
At Thu, 21 Mar 2002 16:53:03 +0000,
In article <86d6xxerjd.wl@daemon.musha.org>,
新井です。
うえのです。
[#16522] sprintf("%u") — Koji Arai <JCA02266@...>
新井です。
[#16532] 定数の再定義 — Wakou Aoyama <wakou@...>
青山です。
[#16545] BigFloat — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
At Sat, 23 Mar 2002 22:55:45 +0900,
At Sun, 24 Mar 2002 02:20:26 +0900,
In article <867ko3yyik.wl@archon.local.idaemons.org>,
At Sun, 24 Mar 2002 04:21:59 +0900,
In article <864rj7yljs.wl@archon.local.idaemons.org>,
At Sun, 24 Mar 2002 07:44:15 +0900,
In article <861yeazvtg.wl@archon.local.idaemons.org>,
At Sun, 24 Mar 2002 15:41:18 +0900,
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
At Tue, 2 Apr 2002 16:16:04 +0900,
原です。
小林です。
[#16555] File.fnmatch (Re: [rubyist:1286] Re: ARGV の機能) — Koji Arai <JCA02266@...>
新井です。
In article <20020324.135631.115921076.JCA02266@nifty.ne.jp>,
新井です。
In article <20020324.143726.89024092.JCA02266@nifty.ne.jp>,
新井です。
[#16593] Oniguruma and multibyte character literal — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
まつもと ゆきひろです
なかだです。
[#16609] control uid/gid — nagai@...
永井@知能.九工大です.
[#16633] socket.c/sock_addrinfo() — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#16636] -L for iconv — Tanaka Akira <akr@...17n.org>
FreeBSD で --prefix つきで Ruby を install するときに、ext/iconv を使
[#16652] [OniGuruma] nested repeat operator — "K.Kosako" <kosako@...>
[ruby-talk:36959]で指摘された
なかだです。
なひです。
なかだです。
なひです。
なかだです。
まつもと ゆきひろです
In article <20020329022810.68F9E17@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvohemzoku6.fsf@coulee.a02.aist.go.jp>から
In article <20020329090116.832F4807@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvod6xnohi8.fsf@coulee.a02.aist.go.jp>から
In article <20020402043641.5E1F6783@helium.ruby-lang.org>,
[#16697] assignment nil to $~ — Tanaka Akira <akr@...17n.org>
% ruby -e '$~ = nil'
まつもと ゆきひろです
In article <1017631490.892199.30753.nullmailer@ev.netlab.jp>,
[ruby-dev:16193] Re: getopts() broken
At Mon, 4 Mar 2002 05:12:42 +0900,
I wrote:
> なお、上記の仕様は sh(1) の getopts を知っていると間違えそう
> なので、ちょっといじってみます。
以下のようにいじりました。
- single_opts_exp, single_colon, single_colon_exp はあまり存在
意義がないので廃止。--c と -- に続けて一文字オプションを指定
する(不正な)ケースは arg のループで弾くようにした。
- 第一引数内に : を許すようにした。("ab:cde:f" 等)
- --long-option=value 形式の = を入れた指定に対応。
- 空の初期値を 0 にしておいて後で nil にする意味が分からないので
やめた。
- インデントを直した。
すっきりしたので、問題なさそうならあとで 1.7 に入れます。
--
/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp
"Somewhere out of a memory.. of lighted streets on quiet nights.."
Index: lib/getopts.rb
===================================================================
RCS file: /src/ruby/lib/getopts.rb,v
retrieving revision 1.5
diff -u -r1.5 getopts.rb
--- lib/getopts.rb 2001/05/06 15:04:52 1.5
+++ lib/getopts.rb 2002/03/03 20:43:49
@@ -16,11 +16,6 @@
def getopts( single_opts, *options )
- single_opts_exp = (single_opts && !single_opts.empty?) ?
- /[#{single_opts}]/ : nil
- single_colon_exp = nil
- single_colon = nil
- opt = arg = val = nil
boolopts = {}
valopts = {}
argv = ARGV
@@ -30,34 +25,25 @@
# set default
#
if single_opts then
- single_opts.each_byte do |byte|
- boolopts[ byte.chr ] = false
+ single_opts.scan(/.:?/) do |opt|
+ if opt.size == 1 then
+ boolopts[ opt ] = false
+ else
+ valopts[ opt[0, 1] ] = 0
+ end
+ end
end
-end
unless options.empty? then
- single_colon = ''
-
- options.each do |opt|
- m = /\A([^:]+):(.*)\z/.match( opt )
- if m then
- valopts[ m[1] ] = m[2].empty? ? 0 : m[2]
+ options.each do |arg|
+ opt, val = arg.split(':', 2)
+ if val then
+ valopts[ opt ] = val.empty? ? nil : val
else
boolopts[ opt ] = false
-end
- end
- valopts.each do |opt, dflt|
- if opt.size == 1 then
- single_colon << opt
-end
- end
-
- if single_colon.empty? then
- single_colon = single_colon_exp = nil
- else
- single_colon_exp = /[#{single_colon}]/
+ end
end
end
-
+
#
# scan
#
@@ -70,10 +56,11 @@
break
when /\A--(.*)/
- opt = $1
- if valopts.key? opt then # imclean --src +trash
- return nil if argv.empty?
- valopts[ opt ] = argv.shift
+ opt, val = $1.split('=', 2)
+ if opt.size == 1 then
+ return nil
+ elsif valopts.key? opt then # imclean --src +trash
+ valopts[ opt ] = val || argv.shift or return nil
elsif boolopts.key? opt then # ruby --verbose
boolopts[ opt ] = true
else
@@ -85,41 +72,39 @@
arg = $1
0.upto( arg.size - 1 ) do |idx|
opt = arg[idx, 1]
- if single_opts and single_opts_exp === opt then
+ if boolopts.key? opt then
boolopts[ opt ] = true # ruby -h
c += 1
-
- elsif single_colon and single_colon_exp === opt then
+ elsif valopts.key? opt then
val = arg[ (idx+1)..-1 ]
if val.empty? then # ruby -e 'p $:'
- return nil if argv.empty?
- valopts[ opt ] = argv.shift
+ valopts[ opt ] = argv.shift or return nil
else # cc -ohello ...
valopts[ opt ] = val
- end
+ end
c += 1
break
- else
+ else
return nil
- end
- end
+ end
+ end
else # ruby test.rb
newargv.push arg
- end
+ end
arg = argv.shift
- end
-
+ end
+
#
# set
#
boolopts.each do |opt, val|
eval "$OPT_#{opt} = val"
- end
+ end
valopts.each do |opt, val|
- eval "$OPT_#{opt} = #{val == 0 ? 'nil' : 'val'}"
+ eval "$OPT_#{opt} = val"
end
argv.replace newargv