yarv-dev:602
From: SASADA Koichi <ko1 atdot.net>
Date: Fri, 16 Sep 2005 05:00:08 +0900
Subject: [yarv-dev:602] Re: *expr
ささだです。 Yukihiro Matsumoto wrote: > *の後ろにリテラルの配列が来た場合にはそれを展開したものと同 > じになるべきだと思います。ですから、 > > return *[1] > > は > > return 1 > > と同じになるべきですし、 > > return *[*[1,2]] > > は > > return *[1,2] > > さらに > > return 1,2 > > と同じになるべきです。 > > | a = *[1] と、return *[1] の node tree が同じで、a を 1 にすることが出 > |来ないので、困ったなぁ、と考えているところです。 > > なにを問題視しているのかちょっとよくわかりません。 なにやらわからない書き方をしてしまってすみません。場当たり的な対応をし て切り抜けました。このあたりは YARV オンリーにもしなったらパーサ自体を変 更して対応したいと思います。 もともとの疑問は多重代入でもそうですが、 a = *[1] #=> 1 a = *[1, 2] #=> [1, 2] という仕様の妥当性でした(片方は要素で片方は配列)。 -- SASADA Koichi at atdot dot net -- 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 ]