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

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  ]