[#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:30347] Re: class local instance variable (was: Re: exception on Singleton)

From: Yukihiro Matsumoto <matz@...>
Date: 2007-02-15 02:41:10 UTC
List: ruby-dev #30347
まつもと ゆきひろです

In message "Re: [ruby-dev:30345] class local instance variable (was: Re: exception on Singleton)"
    on Thu, 15 Feb 2007 11:19:28 +0900, SASADA Koichi <ko1@atdot.net> writes:

| 個人的には、なるべくなら互換性があったほうがいいなぁ、と思っています。
|この変更で幸せになる人がどれくらいいるのか、あんまり想定していないので

「なるべく互換性」という点には反対しませんが、互換性のために
設計をゆがめるのはもっとダメだと思っています。

| ところで、test/unit のテストで、テスト時に @_result というインスタンス
|変数へ、テスト用に作った派生クラスからアクセスしようとして失敗していま
|す。何か回避策はないかと思って *_eval を考えてみたんですが、思いつきませ
|んでした。クラスローカルインスタンス変数へアクセスするためのリフレクショ
|ンメソッドは設けるんでしょうか。

obj.instance_variable_get(:@_foo/Foo)でFooクラスのクラスロー
カルインスタンス変数にアクセスできます。

| とりあえず、@_result を @v_result のようにして解決したんですが、テスト
|のために可視性(?)を広げるのは本末転倒だなぁ、という気がしています。

もともとC++的protectedなものを(名前を変えて)protectedに戻し
たのであれば「可視性を広げた」とは言わないんじゃないかと思い
ます。もともとクラスローカルにしたくて@_resultという名前を使っ
てたわけではないでしょうから。

In This Thread