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

yarv-dev:388

From: Yukihiro Matsumoto <matz ruby-lang.org>
Date: Mon, 20 Dec 2004 18:46:07 +0900
Subject: [yarv-dev:388] Re: IronPython


In message "Re: [yarv-dev:385] Re: IronPython"
    on Mon, 20 Dec 2004 18:31:06 +0900, SASADA Koichi <ko1 atdot.net> writes:

|> メソッド A, B, C という連続する呼び出しが頻出する場合に、
|> A,B,C の全処理を行うメソッドをひとつ用意しちゃう、
|> ってことじゃないでしょうか。
|
| それって,インライン展開できないとまずいんじゃないかなぁ,
|と.で,動的な言語でインライン展開は簡単にはできなさそうか
|なぁ,と.なんか思い違いをしてるのかもしれませんが.

Pythonの場合は

  if a == b:

という文は、厳密には

  * aの値をフェッチ
  * bの値をフェッチ
  * a.__eq__という属性を取得(内部でaをバインドしたメソッドオ
    ブジェクトを生成。仮にtmpとする)
  * tmp(b)を呼び出す(結果をresultとする)
  * resultがNoneであれば偽
  * でなければlen(result)がゼロであれば偽
  * でなければ...忘れたけどなんかあったはず
  * それ以外なら真

という手順のはずなので、これを一つの手続きにする(あるいはイ
ンライン化する)ということではないでしょうか。

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

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

       380 2004-12-20 00:33 [ko1 atdot.net       ] IronPython                              
       381 2004-12-20 00:40 ┗[shudo computer.org  ]                                       
       382 2004-12-20 08:44  ┣[ml asakawa.net      ]                                     
       383 2004-12-20 11:07  ┃┣[shudo computer.org  ]                                   
       390 2004-12-20 20:16  ┃┃┗[ml asakawa.net      ]                                 
       386 2004-12-20 18:38  ┃┗[ko1 atdot.net       ]                                   
       389 2004-12-20 20:06  ┃ ┗[ml asakawa.net      ]                                 
       385 2004-12-20 18:31  ┗[ko1 atdot.net       ]                                     
->     388 2004-12-20 18:46   ┗[matz ruby-lang.org  ]