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

yarv-dev:16

From: (Yukihiro Matsumoto) <matz ruby-lang.org>
Date: Mon, 17 May 2004 08:38:34 +0900
Subject: [yarv-dev:16] Re: initialize block local variables

まつもと ゆきひろです

In message "[yarv-dev:15] initialize block local variables"
    on 04/05/17, SASADA Koichi <ko1 atdot.net> writes:

| これを見てみると、そのブロック内でのブロックローカル変数は、
|すべて一番最初に nil で初期化しているようです。

そうみたいですね。

| たとえば、これを利用して、ブロック中のブロックローカル変数一覧を
|構文木から得るとき、最初の NODE_DASGN_CURR のリストを見るだけ、とい
|う手は使えるでしょうか。

CVSのログを見ると去年の7月になかださんが追加しています。ので、
なかださんに聞かないと断言できないんですが、実装を見る限りは
使えそうですね。でも、これだと

  loop{
    a = 1
    b = 2
    eval("p defined?(c)")
    c = 3
    break
  }

の結果が真になるのでまずいケースもあるような。

Riteだとブロックローカル変数という概念がないんで実装が楽にな
るでしょうね。

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

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

        15 2004-05-17 04:14 [ko1 atdot.net       ] initialize block local variables        
->      16 2004-05-17 08:38 ┗[matz ruby-lang.org  ]                                       
        17 2004-05-17 10:37  ┣[ko1 atdot.net       ]                                     
        20 2004-05-17 13:23  ┃┗[matz ruby-lang.org  ]                                   
        22 2004-05-17 15:58  ┃ ┗[ko1 atdot.net       ]                                 
        23 2004-05-17 16:14  ┃  ┗[matz ruby-lang.org  ]                               
        24 2004-05-17 16:58  ┃   ┗[ko1 namikilab.tuat.a]                             
        25 2004-05-17 17:27  ┃    ┗[matz ruby-lang.org  ]                           
        26 2004-05-17 18:09  ┃     ┗[ko1 atdot.net       ]                         
        27 2004-05-17 18:38  ┃      ┗[matz ruby-lang.org  ]                       
        21 2004-05-17 13:45  ┗[nobu.nokada softhome]