From: matz@... (Yukihiro Matsumoto) Date: 1997-08-19T14:37:51+09:00 Subject: [ruby-dev:174] Re: argument default value まつもと ゆきひろです In message "[ruby-dev:172] Re: argument default value" on 97/08/19, WATANABE Hirofumi writes: | |わたなべです. |def foo(arg) | print arg, "\n" |end | |foo "first", "second" | |がエラーにならないっす. すんません.再パッチです.元のファイルに当て直して下さい. --- eval.c~ Tue Aug 19 13:17:44 1997 +++ eval.c Tue Aug 19 14:25:09 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 (optnode) { + opt--; + optnode = node->nd_next; + } + if (opt > 0) { + ArgError("Wrong # of arguments(%d for %d)", + argc, argc-opt); + } + }