[#40164] Class内Classの定義と差分ベースモジュール — Nowake <nowake@...>

こんばんは、野分です。

12 messages 2004/11/03

[#40196] [ANN] RDtool-0.6.16 — MoonWolf <moonwolf@...>

MoonWolfです。

78 messages 2004/11/08
[#40197] Re: [ANN] RDtool-0.6.16 — MoonWolf <moonwolf@...> 2004/11/08

MoonWolfです。

[#40198] Re: [ANN] RDtool-0.6.16 — akira yamada / やまだあきら <akira@...> 2004/11/09

2004-11-09 (火) の 08:28 +0900 に MoonWolf さんは書きました:

[#40202] Ruby標準添付ライブラリのコードレビュー — MoonWolf <moonwolf@...> 2004/11/09

MoonWolfです。

[#40204] Re: Ruby標準添付ライブラリのコードレビュー — MoonWolf <moonwolf@...> 2004/11/09

MoonWolfです。

[#40206] Re: Ruby標準添付ライブラリのコードレビュー — Yukihiro Matsumoto <matz@...> 2004/11/09

まつもと ゆきひろです

[#40212] Re: Ruby標準添付ライブラリのコードレビュー — MoonWolf <moonwolf@...> 2004/11/09

MoonWolfです。

[#40214] Re: Ruby標準添付ライブラリのコードレビュー — Yukihiro Matsumoto <matz@...> 2004/11/09

まつもと ゆきひろです

[#40225] Re: Ruby標準添付ライブラリのコードレビュー — MoonWolf <moonwolf@...> 2004/11/09

MoonWolfです。

[#40227] Re: Ruby標準添付ライブラリのコードレビュー — Yukihiro Matsumoto <matz@...> 2004/11/09

まつもと ゆきひろです

[#40230] Re: Ruby標準添付ライブラリのコードレビュー — MoonWolf <moonwolf@...> 2004/11/09

MoonWolfです。

[#40232] Re: Ruby標準添付ライブラリのコードレビュー — "U.Nakamura" <usa@...> 2004/11/10

こんにちは、なかむら(う)です。

[#40234] Re: Ruby標準添付ライブラリのコードレビュー — MoonWolf <moonwolf@...> 2004/11/10

MoonWolfです。

[#40235] Re: Ruby標準添付ライブラリのコードレビュー — "U.Nakamura" <usa@...> 2004/11/10

こんにちは、なかむら(う)です。

[#40239] Re: Ruby標準添付ライブラリのコードレビュー — Yukihiro Matsumoto <matz@...> 2004/11/10

まつもと ゆきひろです

[#40246] Re: Ruby標準添付ライブラリのコードレビュー — MoonWolf <moonwolf@...> 2004/11/10

MoonWolfです。

[#40247] Re: Ruby標準添付ライブラリのコードレビュー — Yukihiro Matsumoto <matz@...> 2004/11/10

まつもと ゆきひろです

[#40205] Re: Ruby標準添付ライブラリのコードレビュー — Yukihiro Matsumoto <matz@...> 2004/11/09

まつもと ゆきひろです

[#40208] Re: Ruby標準添付ライブラリのコードレビュー — MoonWolf <moonwolf@...> 2004/11/09

MoonWolfです。少しフレームぎみになるかもしれませんが、ご容赦ください。

[#40213] Re: Ruby標準添付ライブラリのコードレビュー — akira yamada / やまだあきら <akira@...> 2004/11/09

2004-11-09 (火) の 17:01 +0900 に MoonWolf さんは書きました:

[#40218] Re: Ruby標準添付ライブラリのコードレビュー — MoonWolf <moonwolf@...> 2004/11/09

MoonWolfです。

[#40266] まつもとさんの負担を減らすために、何ができるだろう — 卜部昌平 <s-urabe@...>

mput です。

16 messages 2004/11/10

[ruby-list:40164] Class内Classの定義と差分ベースモジュール

From: Nowake <nowake@...>
Date: 2004-11-03 14:47:44 UTC
List: ruby-list #40164
こんばんは、野分です。

Class内Classの定義についてお聞きしたいことがあります。

アスペクト指向の勉強中に見つけたMixJuiceと差分ベースモジュールに感心した
ので、
同じようなことがRubyでできないかとClass内Classで試してみました。
……まあ、言わずもがな、失敗しました。

class A
class AA
def self.test; 'A::AA#test' end
end
def self.test; AA.test end
end
class B < A
class AA
def self.test; 'B::AA#test' end
end
end
p A.test #=> 'A::AA#test'
p B.test #=> 'A::AA#test'

一度SuperClassに見に行くと、そのままSuperClassのメソッドで処理されてしま
うようで、
SubClassの再定義は無視されます。
#Moduleも同様ですね。Moduleの場合は継承ではなくcloneを使いますが

そこで、もしご存知のかたがいらっしゃったら教えて頂きたいのですが、
SuperClassからSubClassを参照させる方法はありませんでしょうか?
できれば、SuperClassに影響を与えない方法でできたら嬉しいです。

今はインスタンス変数にクラス定義オブジェクト(?)を継承したオブジェクト
を保存して、
そのインスタンスからClass内Classを参照させるようにしていますが、あまりス
マートでは
ないので……

class E
class EE
def self.test; 'E::EE#test' end
end
@inner_class = EE
def self.test; @inner_class.test end
end
class F < E
class FF < EE
def self.test; 'F::FF#test' end
end
@inner_class = FF
end
p E.test #=> 'E::EE#test'
p F.test #=> 'F::FF#test'

module G
class GG
def self.test; 'G::GG#test' end
end
@inner_class = GG
def self.test; @inner_class.test end
end
H = G.clone
module H
class HH < GG
def self.test; 'H::HH#test' end
end
@inner_class = HH
end
p G.test #=> 'G::GG#test'
p H.test #=> 'H::HH#test'


In This Thread

Prev Next