[ruby-list:479] Re: bug? and question

From:
Date: 1996-09-02 08:48:56 UTC
List: ruby-list #479
けいじゅ@SHLジャパンです. 

In [ruby-list :00477 ] the message: "[ruby-list:477] Re: bug? and
question ", on Sep/02 17:09(JST) matz@caelum.co.jp (Yukihiro
Matsumoto) writes:

>|3. next
>|nextがデフォルトでプライベートになります.
>
>これはそういうものです.nextは制御構造ですから,再定義するの
>はお勧めしません.

そういえばそうでしたね. 失礼しました. (_ _;;;

>つまり,スーパークラスで定義されているクラスをオーバーライド
>する時には元のクラスの属性を引き継ぎます.nextがprivateとし
>て定義されていますから,再定義した場合もprivateです.

>変更したい時には明示的に変更してください.

分かりました. 

>|5. 特異メソッド中のinclude
>
>特定のオブジェクトにモジュールの機能を追加したい時にはextend
>を使ってください.

こんな関数があったんですね. お手数かけてすいません.

>rubyの場合インクルードは名前空間だけでなく,クラスの性質その
>ものを変えてしまうので,そういう機能は存在できないはずです.

確かにクラスの一部(1つの関数)だけインクルードできたりすると変な動きを
しそうですね.

これからが本題ですが:

>それとKernel#typeは次のバージョンからそのオブジェクトの「ク
>ラス名」を返すようになります.非互換性がありますが,必要なら
>ば
>
>  eval(obj.type)
>
>に置き換えればほとんどの場合大丈夫でしょう.

クラスに関するAPIを充実して欲しいのです.

いま, Structを動的に生成して複数のStructのインスタンスを1つのクラスで
取り扱おうと思っているのですが, 細かいところでできないことがあって困っ
ています. 例えば, Structに登録してあるメンバ名やメンバの数を取り出せる
関数が欲しいです.

先の, Structの話しは別として, rubyは動的に型を取り扱える言語なのだから, 
そういうmetaレベルプログラムのサポートがあっても良いと思いますが, いか
がでしょう?

__
..........................................石塚 圭樹@SHLジャパン(株)...
------------->アドレス変わりました!! e-mail: keiju@shljapan.co.jp <----

In This Thread

Prev Next