From: matz@... (Yukihiro Matsumoto) Date: 1997-08-19T14:15:40+09:00 Subject: [ruby-dev:171] Re: argument default value まつもと ゆきひろです In message "[ruby-dev:170] Re: argument default value" on 97/08/19, Yukihiro Matsumoto writes: ||ArgumentErrorにならないのですが、これは仕様 ||でしょうか? | |バグです.パッチを出します. で,パッチです --- eval.c~ Tue Aug 19 13:17:44 1997 +++ eval.c Tue Aug 19 13:51:43 1997 @@ -3044,3 +3044 @@ - if (i > argc - || (node->nd_rest == -1 - && i+(node->nd_opt?node->nd_opt->nd_alen:0) argc) { @@ -3048,0 +3047,13 @@ + if (node->nd_rest == -1) { + int opt = argc - i; + NODE *optnode = node->nd_opt; + + while (opt--) { + optnode = node->nd_next; + if (optnode == 0) break; + } + if (opt > 0) { + ArgError("Wrong # of arguments(%d for %d)", + argc, argc-opt); + } + }