From: Kazuhiro Yoshida Date: 1999-11-18T21:09:00+09:00 Subject: [ruby-dev:8365] keyword ( or hash ) argument もりきゅうです。 Yukihiro Matsumoto さんは書きました: >|TkButton.new(nil, Text: 'hello', Command: proc{print "hello"; exit}).pack >|# 現状は, >|# TkButton.new(nil, 'text'=>'hello', 'command'=>proc{print "hello"; exit}).pack ふむふむ。ということは,これに対するメソッド定義は どういうふうに書けるようになるのでしょうか? キーワード引数の利点は, 引数の意味が分かりやすい。 省略値がどの引数でも使える(たぶん)。 といったところかな。 あと,これはいまさらながらに気づいたことですが, -- begin def foo(first, rest) p rest end foo nil, 'text'=>'hello', 'command'=>proc{print "hello"; exit} -- end ここで rest が Hash になることはどこかに書いてありましたっけ? -- begin foo nil, 'text'=>'hello', 'command'=>proc{print "hello"; exit}, 1 -- end は parse error だし。 ..って書いてみたけど, ruby-man-1.4-jp/syntax.html#hash >ハッシュの要素が1つ以上ある場合,曖昧でなければ {, }は省略できます. なるほど。^^; ---- Kazuhiro Yoshida moriq.kazuhiro@nifty.ne.jp