From: nobu@... Date: 2005-02-21T17:48:00+09:00 Subject: [ruby-dev:25737] method name same as local variable なかだです。 http://yowaken.dip.jp/tdiary/20050220.html#p01 の件ですが、レシー バを指定したメソッド呼び出しが、同名のローカル変数の有無によっ て影響されるのはバグだと思います。 * parse.y (parser_yylex): identfier after dot must not be a variable. Index: parse.y =================================================================== RCS file: /cvs/ruby/src/ruby/parse.y,v retrieving revision 1.307.2.13 diff -U2 -p -r1.307.2.13 parse.y --- parse.y 8 Feb 2005 00:50:33 -0000 1.307.2.13 +++ parse.y 21 Feb 2005 08:35:27 -0000 @@ -4335,4 +4335,5 @@ yylex() { int result = 0; + enum lex_state last_state = lex_state; switch (tok()[0]) { @@ -4420,4 +4421,5 @@ yylex() yylval.id = rb_intern(tok()); if (is_local_id(yylval.id) && + last_state != EXPR_DOT && ((dyna_in_block() && rb_dvar_defined(yylval.id)) || local_id(yylval.id))) { lex_state = EXPR_END; -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦