From: Akinori MUSHA Date: 2010-09-30T13:47:57+09:00 Subject: [ruby-dev:42318] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step) --pgp-sign-Multipart_Thu_Sep_30_13:47:52_2010-1 Content-Type: text/plain; charset=ISO-2022-JP At Wed, 29 Sep 2010 23:43:47 +0900, matz wrote: > 個人的には > > * シンボルでなく文字列 > * 文字列末尾に:がついていたらoptional > または文字列末尾に!がついていたらmandatory  末尾でなく先頭の方が望ましそうです。識別子の末尾にも!が置ける ので(「method(x!:1)」も文法的に有効)曖昧さが生じます。 > * "*" があれば残りがハッシュとして渡る > * "*" が指定されていなければ例外 > * soft warningはなし  これはRubyで書くときも自力なのでそれでいいでしょうね。 At Wed, 29 Sep 2010 23:43:47 +0900, matz wrote: > 元々はrb_scan_keywordsでしたね。予約語と混同しそうなのでargs > を追加したのでしょうか。たとえば、私の提案した仕様のものを > > rb_scan_kwargs() > > とし、武者さんの仕様のものを > > rb_scan_keyword_args() > > として両方提供するというのはどうでしょう?  ちなみに、私が最初に考えていた記法は次のようなもので、動的生成の 便宜や rb_intern() のコストを考えないならこちらの方が書きやすく、 わかりやすそうに思えます。 /* セミコロンはmandatoryとoptionalの区切り */ rb_scan_keywords(&opt, "x,y;color,size,*", &x, &y, &color, &size, &rest) もしかしてまつもとさんにはこれならacceptableだったりしますか? -- Akinori MUSHA / http://akinori.org/ --pgp-sign-Multipart_Thu_Sep_30_13:47:52_2010-1 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEABECAAYFAkykFngACgkQkgvvx5/Z4e74BgCgjNt4EMQ8BTxvNWg3DpMZ/DVC ErsAniF6PLLyhjoDMbJo8cjMPjnOAoLo =kY4V -----END PGP SIGNATURE----- --pgp-sign-Multipart_Thu_Sep_30_13:47:52_2010-1--