yarv-dev:601
From: Yukihiro Matsumoto <matz ruby-lang.org>
Date: Sun, 11 Sep 2005 00:36:30 +0900
Subject: [yarv-dev:601] Re: *expr
まつもと ゆきひろです In message "Re: [yarv-dev:598] *expr" on Fri, 09 Sep 2005 17:53:42 +0900, SASADA Koichi <ko1 atdot.net> writes: |sample/test.rb から | |def r; return *[1]; end; a = r(); test_ok(a == 1) |def r; return *[*[1,2]]; end; a = r(); test_ok(a == [1,2]) | | この辺の仕様は fix と考えたほうがいいんでしょうか。 *の後ろにリテラルの配列が来た場合にはそれを展開したものと同 じになるべきだと思います。ですから、 return *[1] は return 1 と同じになるべきですし、 return *[*[1,2]] は return *[1,2] さらに return 1,2 と同じになるべきです。 | a = *[1] と、return *[1] の node tree が同じで、a を 1 にすることが出 |来ないので、困ったなぁ、と考えているところです。 なにを問題視しているのかちょっとよくわかりません。 -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
598 2005-09-09 17:53 [ko1 atdot.net ] *expr -> 601 2005-09-11 00:36 ┗[matz ruby-lang.org ] 602 2005-09-16 05:00 ┗[ko1 atdot.net ] 604 2005-09-16 08:21 ┗[matz ruby-lang.org ] 606 2005-09-16 09:12 ┗[ko1 atdot.net ] 608 2005-09-16 09:18 ┗[matz ruby-lang.org ] 多重代入の値 (was Re: *expr) 610 2005-09-16 13:35 ┗[maeda-yarv atusi.org] 611 2005-09-16 16:31 ┗[matz ruby-lang.org ]