[#29736] [提案] Kernel#p をもっと便利に — "Yusuke ENDOH" <mame@...>

遠藤侑介と申します。

19 messages 2006/11/01

[#29765] merge with YARV — SASADA Koichi <ko1@...>

 ささだです。

16 messages 2006/11/03

[#29767] 1.8 proposal of RUBY_PATCHLEVEL — URABE Shyouhei <root@...>

-----BEGIN PGP SIGNED MESSAGE-----

52 messages 2006/11/04
[#29771] Re: 1.8 proposal of RUBY_PATCHLEVEL — Shugo Maeda <shugo@...> 2006/11/04

前田です。

[#29925] ruby -v — Urabe Shyouhei <shyouhei@...>

卜部です。

28 messages 2006/11/24

[#29964] 1.8, 1.9, svn化, などなどのまとめ — "U.Nakamura" <usa@...>

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

15 messages 2006/11/28

[#29970] BUG: Incorrect handling of Ignorecase matching (regex.c of 1.8.5) — "きむらこういち" <hogemuta@...>

木村です。

15 messages 2006/11/28

[ruby-dev:29849] Re: Module duplicate

From: Shugo Maeda <shugo@...>
Date: 2006-11-06 01:14:12 UTC
List: ruby-dev #29849
前田です。

SASADA Koichi wrote:
>  いつのまにか 1.9 では Module を include したとき、ancestors に同じモ
> ジュールが重なるようになっていました。
(snip)
> 1.9 : [C2, M, C1, M, Object, Kernel, BasicObject]
>       M が2回現れる
> ########################
> 
>  結構大きな変更だと思うのですが、この仕様について何か意見がある方はいま
> せんか。

Mが2回現れるのは気持ち悪いと思うのですが、

>  導入の理由は、include したことをしっかりと影響を与えるため(上記例では
> C2 で M を include したら、C2 のメソッド m より先に M のメソッド m が呼
> ばれて欲しい、とか)ということです。

ということだと、他の選択肢は

[C2, M, C1, Object, Kernel, BasicObject]

になるのでしょうか。

>  が、個人的には同じメソッドが super によって 2 回以上呼ばれてしまうのは
> どうかな、と思っています。呼ばれても然るべき?

私も2回以上呼ばれるのはちょっとどうかなと思います。
ただ、

[C2, M, C1, Object, Kernel, BasicObject]

みたいな順番にすると、C1がMのメソッドをsuperで呼ぶことを意図していた
場合に動作しなくなりそうですね。
なので、1.8の挙動の方が好ましいような気がするのですが、この変更が原因
で動かなくなっているコードがないのなら、問題ないのかなあ。

-- 
前田 修吾

In This Thread