< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事(スレッド移動)
N :次の記事
|<:前のスレッド
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
ささだです。
いつのまにか 1.9 では Module を include したとき、ancestors に同じモ
ジュールが重なるようになっていました。
########################
module M
end
class C1
include M
end
class C2 < C1
include M
end
p C2.ancestors
#=>
1.8 : [C2, C1, M, Object, Kernel]
1.9 : [C2, M, C1, M, Object, Kernel, BasicObject]
M が2回現れる
########################
結構大きな変更だと思うのですが、この仕様について何か意見がある方はいま
せんか。
導入の理由は、include したことをしっかりと影響を与えるため(上記例では
C2 で M を include したら、C2 のメソッド m より先に M のメソッド m が呼
ばれて欲しい、とか)ということです。
が、個人的には同じメソッドが super によって 2 回以上呼ばれてしまうのは
どうかな、と思っています。呼ばれても然るべき?
--
// SASADA Koichi at atdot dot net