Forum: Ruby-dev Add POSTARG support to rb_scan_args()

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
63b0093deb47a0d7a2aa8eee95e04efb?d=identicon&s=25 Akinori MUSHA (Guest)
on 2009-02-13 12:05
(Received via mailing list)
Attachment: rb_scan_args.patch (7 KB)
 rb_scan_args()をPOSTARG対応にするパッチです。

    rb_scan_args(argc, argv, "11*2", &first, &optional, &array, &penult,
&last);

のように、 * の後に数字を指定できます。

 ドキュメントもおおざっぱなまま放置されているので更新してみました。
63b0093deb47a0d7a2aa8eee95e04efb?d=identicon&s=25 Akinori MUSHA (Guest)
on 2009-02-13 12:07
(Received via mailing list)
2009/2/13 Akinori MUSHA <akinori.musha@gmail.com>:
> $B!!(Brb_scan_args()$B$r(BPOSTARG$BBP1~$K$9$k%Q%C%A$G$9!#(B
>
>    rb_scan_args(argc, argv, "11*2", &first, &optional, &array, &penult, &last);
>
> $B$N$h$&$K!"(B * $B$N8e$K?t;z$r;XDj$G$-$^$9!#(B
>
> $B%I%-%e%a%s%H$b$*$*$6$C$Q$J$^$^J|CV$5$l$F$$$k$N$G99?7$7$F$_$^$7$?!#(B

$B$"!":G8e$N(B rb_raise()
$B$N%a%C%;!<%8$N$*?,$O%G%P%C%0%3!<%I$J$N$GL5;k$7$F$/$@$5$$!#(B
0ec4920185b657a03edf01fff96b4e9b?d=identicon&s=25 Yukihiro Matsumoto (Guest)
on 2009-02-16 07:34
(Received via mailing list)
$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message "Re: [ruby-dev:37995] Add POSTARG support to rb_scan_args()"
    on Fri, 13 Feb 2009 20:01:53 +0900, Akinori MUSHA
<akinori.musha@gmail.com> writes:

|$B!!(Brb_scan_args()$B$r(BPOSTARG$BBP1~$K$9$k%Q%C%A$G$9!#(B
|
|    rb_scan_args(argc, argv, "11*2", &first, &optional, &array, &penult, &last);
|
|$B$N$h$&$K!"(B * $B$N8e$K?t;z$r;XDj$G$-$^$9!#(B

$B%3%_%C%H$7$F$/$@$5$$!#(B

|$B!!%I%-%e%a%s%H$b$*$*$6$C$Q$J$^$^J|CV$5$l$F$$$k$N$G99?7$7$F$_$^$7$?!#(B

$B$3$A$i$O$b$&$7$F$$$?$@$$$?$h$&$G$9$M!#$"$j$,$H$&$4$6$$$^$9!#(B

Method#parameters$B$,@5$7$$7k2L$rJV$;$k$h$&$K(Brb_define_method
$B$G(B scan_args $BAjEv$r;XDj$G$-$k$h$&$K$7$?$$$N$@$,(B...$B!#(B
74f896b312b786ee75a18073941e2457?d=identicon&s=25 Akinori MUSHA (Guest)
on 2009-02-16 09:36
(Received via mailing list)
At Mon, 16 Feb 2009 15:32:30 +0900,
matz wrote:
> In message "Re: [ruby-dev:37995] Add POSTARG support to rb_scan_args()"
>     on Fri, 13 Feb 2009 20:01:53 +0900, Akinori MUSHA <akinori.musha@gmail.com> writes:
>
> | rb_scan_args()をPOSTARG対応にするパッチです。
> |
> |    rb_scan_args(argc, argv, "11*2", &first, &optional, &array, &penult, &last);
> |
> |のように、 * の後に数字を指定できます。
>
> コミットしてください。

入れました。

> 
| ドキュメントもおおざっぱなまま放置されているので更新してみました。
>
> 
こちらはもうしていただいたようですね。ありがとうございます。

はい、ドキュメントの改善のみ先に入れていました。

> Method#parametersが正しい結果を返せるようにrb_define_method
> で scan_args 相当を指定できるようにしたいのだが...。

rb_scan_arg() 
相当をメソッド定義・呼出機構に組み入れてしまうべき
なんですかね。しばし考えてみましたが、にわかにはブロックの仮引数
リストや将来のキーワード引数の表現方法についてアイデアがまとまり
ませんでした。
0ec4920185b657a03edf01fff96b4e9b?d=identicon&s=25 Yukihiro Matsumoto (Guest)
on 2009-02-16 09:48
(Received via mailing list)
$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message "Re: [ruby-dev:38026] Re: Add POSTARG support to
rb_scan_args()"
    on Mon, 16 Feb 2009 17:35:48 +0900, "Akinori MUSHA"
<knu@iDaemons.org> writes:

|> Method#parameters$B$,@5$7$$7k2L$rJV$;$k$h$&$K(Brb_define_method
|> $B$G(B scan_args $BAjEv$r;XDj$G$-$k$h$&$K$7$?$$$N$@$,(B...$B!#(B
|
|rb_scan_arg() $BAjEv$r%a%=%C%IDj5A!&8F=P5!9=$KAH$_F~$l$F$7$^$&$Y$-(B
|$B$J$s$G$9$+$M!#$7$P$79M$($F$_$^$7$?$,!"$K$o$+$K$O%V%m%C%/$N2>0z?t(B
|$B%j%9%H$d>-Mh$N%-!<%o!<%I0z?t$NI=8=J}K!$K$D$$$F%"%$%G%"$,$^$H$^$j(B
|$B$^$;$s$G$7$?!#(B

arity$B$d(Bparameters$B$,$h$j@5$7$$>pJs$rJV$9$?$a$K$OAH$_F~$l$F$7(B
$B$^$C$?J}$,$"$j$,$?$$$G$9$M!#$"$s$^$j?<$/9M$($F$$$J$$$s$G$9$,!"(B
$B$?$H$($P(Brb_define_method$B$N:G8e$N0z?t$KJ8;zNs$rEO$9$H(B
scan_args$BAjEv$K$J$k$h$&$J@_7W$O2DG=$G$O$J$$$+$H;W$$$^$9!#(B
This topic is locked and can not be replied to.