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

yarv-dev:329

From: Yukihiro Matsumoto <matz ruby-lang.org>
Date: Fri, 19 Nov 2004 23:56:12 +0900
Subject: [yarv-dev:329] Re: method call eval order

まつもと ゆきひろです

In message "Re: [yarv-dev:328] Re: method call eval order"
    on 19 Nov 2004 23:35:48 +0900, MAEDA Atusi <maeda-yarv atusi.org> writes:
|
|ささださんの日記への突っ込みにあったけど、「receiverは後」ルールだと、
|
|    receiver.method1(式1, 式2).method2(式3, 式4)
|
|で式3, 式4 が式1, 式2より先に評価される?

そうなりそうな気がしますねえ。うーむ、それはイヤだなあ。

|>  速くなると思っている理由は、スタックキャッシュにしたとき、多分めちゃ
|> くちゃ速くなると思ってるんですが、まだデータ取ってないのでなんとも。
|> データを取ってから出直してきます。
|
|なるほど。そうかもしれません。

そうなんですか? 頻繁に参照されそうなselfがスタックキャッシュ
に乗るからでしょうか?  でも、

  def foo(a,b, *c)
  end

  obj.foo(1,2,3,*[4,5])

の場合とかまずスタックに1,2,3,4,5,objを積み、それから
1,2,[3,4,5],obj に積み替えなければならないような気がするので、
あんまりうれしくないんじゃないかなあ。

--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

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

       317 2004-11-17 16:21 [ko1 atdot.net       ] method call eval order                  
       318 2004-11-17 18:29 ┣[nobu.nokada softhome]                                       
       319 2004-11-17 18:33 ┃┗[ko1 atdot.net       ]                                     
       320 2004-11-18 17:04 ┗[matz ruby-lang.org  ]                                       
       325 2004-11-19 13:08  ┗[maeda-yarv atusi.org]                                     
       326 2004-11-19 13:46   ┗[matz ruby-lang.org  ]                                   
       327 2004-11-19 15:30    ┗[ko1 atdot.net       ]                                 
       328 2004-11-19 23:35     ┗[maeda-yarv atusi.org]                               
->     329 2004-11-19 23:56      ┗[matz ruby-lang.org  ]