[前][次][番号順一覧][スレッド一覧][生データ]

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  ]