[ruby-list:42986] Re: 6.12 includeとextendはどう違いますか

From: take_tk <ggb03124@...>
Date: 2006-11-08 04:56:44 UTC
List: ruby-list #42986
たけ(tk)です

[ruby-list:42985] Re: 6.12 includeとextendはどう違いますか にて
Yukihiro Matsumoto <matz@ruby-lang.org> さん曰く:

> |という説明しかないのですが、同じ名前のメソッドがある場合には顕著な違いが
> |あるようです。
> |
> |次のような説明を追加してもらえませんでしょうか?
> 
> 個人的な印象としてはあまり良い説明ではないように感じます。

まあ、説明ではなく、異なった結果になるという現象を示したモノですね。

たけ(tk)が学校で学んだ所によれば、説明というのは「ふたつのモノの現象にお
ける異同(異なっている点と同じ点)を示した後に、その異同を原理原則(及び
実際的な視点から)から説明する」ことなのだそうです。そのような説明をすれ
ば、読み手の理解が深まるのだそうです。

説明まで求めるなら、現象的な異同を示した後に、原理原則からの説明を加えれ
ばよいでしょう。

----
(2-Ext-M)モジュールでのメソッド定義内のsuperは(承継元のモジュールで同
名メソッドがなければ)クラスで定義したメソッドを呼び出します。

この違いは、
includeではクラスまたはモジュールを対象にし、includeされたモジュールがク
ラスの上に来るため、インスタンスからみるとクラスの方が優先されるように見
えるのに対し、
extendではオブジェクトを対象にし、extendされたモジュールがオブジェクトの
上、クラスの下に入るために、モジュールの方が優先されるように見える、
という違いに由来します。
----

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武


In This Thread

Prev Next