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

yarv-dev:130

From: (Yukihiro Matsumoto) <matz ruby-lang.org>
Date: Tue, 27 Jul 2004 10:00:31 +0900
Subject: [yarv-dev:130] Re: variable length argument

まつもと ゆきひろです

In message "[yarv-dev:129] Re: variable length argument"
    on 04/07/27, Yukihiro Matsumoto <matz ruby-lang.org> writes:

|すいません。本人の意図としては可変長引数がある場合にも保存す
|るつもりでした。というか、今まで保存しなくなっていることに気
|がついていませんでした。いつ変わったんだろう。

調べてみました。

  * 1.2までは引数は保存されている

  * 1.3の開発期間中に ruby_frame->argv と
    ruby_scope->local_vars の共有が行われるようになり、その
    せいで代入が無引数のsuperに影響を与えるようになった。

  * eval()でローカル変数が追加されると上記の共有が分離される
    ので、a=100の前にたとえば「eval("k=1")」を入れると挙動が
    変わる。

というあまり望ましくない状態になっています。こんなに長い間気
がつかないなんて、誰も使ってないんだなあ。

で、どういう挙動が良いかと言うと...続きはruby-devで。

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

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

       128 2004-07-27 08:32 [ko1 atdot.net       ] variable length argument                
       129 2004-07-27 08:57 ┗[matz ruby-lang.org  ]                                       
->     130 2004-07-27 10:00  ┗[matz ruby-lang.org  ]                                     
       131 2004-07-27 11:00   ┗[ko1 atdot.net       ]                                   
       132 2004-07-27 11:28    ┗[matz ruby-lang.org  ]                                 
       133 2004-07-27 11:38     ┗[ko1 atdot.net       ]