[#30408] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 preview2 をリリースしました。

20 messages 2007/02/24
[#30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Hidetoshi NAGAI <nagai@...> 2007/02/25

永井@知能.九工大です.

[#30418] Re: fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Nobuyoshi Nakada <nobu@...> 2007/02/25

なかだです。

[ruby-dev:30380] Re: class local instance variable

From: Yukihiro Matsumoto <matz@...>
Date: 2007-02-17 17:34:19 UTC
List: ruby-dev #30380
まつもと ゆきひろです

In message "Re: [ruby-dev:30362] Re: class local instance variable"
    on Sat, 17 Feb 2007 01:31:28 +0900, "Park Ji-In" <tisphie@gmail.com> writes:

|mithrandir@losrorien ~/ruby/ruby-svn/trunk $ cat test2.rb
|class Merong
|  def m
|    @__y__ = "Yes!"
|  end
|end
|
|m = Merong.new
|m.m
|m.instance_eval { @__x__ = "Yes!" }
|puts m.instance_variables.inspect
|
|mithrandir@losrorien ~/ruby/ruby-svn/trunk $ ./miniruby test2.rb
|[:@__x__/#<Class:#<Merong:0xb7ed95c4>>, :@__y__/Merong]
|
|こうなりました。

instance_evalではクラスローカルの対象となるクラスは、そのオ
ブジェクトの特異クラスです。ですから、Merongクラスのクラスロー
カル変数はアクセスできません。

でも、ここではMerongクラスのローカルインスタンス変数にアクセ
スできるというのが一般的な期待なんでしょうか。クラス変数のと
きにもいろいろ考えました[1]が、同じようなことをクラスローカ
ル変数に対しても行うべきなんでしょうか。

[1] http://www.rubyist.net/~matz/20070104.html#p03

In This Thread