From: matz@... (Yukihiro Matsumoto) Date: 1999-10-23T22:30:56+09:00 Subject: [ruby-dev:8101] Re: named argument? まつもと ゆきひろです In message "[ruby-dev:8093] Re: named argument?" on 99/10/23, ttate@jaist.ac.jp writes: |もしまだ確定した仕様でないなら、一つの提案ですが、、、 いや、実は私の頭の中では結構確定してます。といってもPythonの ようにという程度ですが。 |TkButton.new('text' => "OK", 'command' => proc{exit}) | |の別の方法として | |TkButton.new(text: "OK", command: proc{exit}) | |が提供さて、 ここまではほぼOKです。 |メソッド定義では | |def initialize(args : arg1,arg2) | (argsは{'arg1' => ???, 'arg2' => ???}というHash) | (arg1はargs['arg1']のエイリアス) |end | |として定義できると嬉しいような気がします。 これはちょっと違ってて、キーワード引数はデフォルト付き引数に 対応します。つまり def foo(a=5,b=6,c=7) ... end は以下のいずれでも呼び出せます。 foo() foo(1,2) foo(c: 9) それと任意のキーワードを渡すために以下の方法が提供されます。 def bar(args, **keys) .. end keysには引数として与えられたキーワード全部を納めたハッシュが 渡されます。ハッシュのキーはシンボルです。 まつもと ゆきひろ /:|)