From: matz@... (Yukihiro Matsumoto) Date: 2004-05-24T08:40:52+09:00 Subject: [ruby-dev:23585] Re: keyword argments (Ruby2.0 spec) まつもと ゆきひろです In message "[ruby-dev:23584] Re: keyword argments (Ruby2.0 spec)" on 04/05/24, Hidetoshi NAGAI writes: |とすると,キーがシンボルになっていない |TkButton.new(nil, 'text'=>'QUIT', 'command'=>proc{exit}) |の形式は文法エラーでしょうか. |旧来のこの形式で書かれている Ruby/Tk のスクリプトの割合は |かなり高いと思うので,その場合は壊滅的打撃になりそうです. |キーがシンボルの形式は暫く前から受理可能になっているので, |シンボルを使ったものについてはライブラリの対処でスクリプトの |互換性を維持できそうですが,問題はこの旧来の形式ですね. | | (1) メジャーバージョンが上がるのだから仕方ないものとして, | 何も対処は行わない. | とりあえずは今後は文字列キー形式は使わないようにと | アナウンスして,文字列キー形式はすべてシンボル形式に | 書き換えてもらう. | | (2) 文字列キーまではなんとかキーワード引数として解釈して | もらえるようにと,まつもとさんに泣き付く.(^_^; | |# やっぱり (1) になるんですかねぇ... うーん、一晩考えた結果は(3)か(4)だと思うようになりました。優 しいのが(3)、厳しいのが(4)です。 (3) 引数リストの末尾に「=>」を使った形式の意味は従来通り。 ライブラリはハッシュとキーワード引数の両方に対応するこ とで、旧来のプログラムを救済できる。 (4) ブレースで囲まない「=>」を使った形式全体を禁止する。旧 来のRuby/Tkを使ったプログラムは全滅。 どうしましょうねえ。いくら互換性を気にしないと言っても、ある 分野丸ごと全滅はやりすぎですかねえ。 まつもと ゆきひろ /:|)