[#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:29850] Re: Module duplicate

From: Yukihiro Matsumoto <matz@...>
Date: 2006-11-06 01:38:02 UTC
List: ruby-dev #29850
まつもと ゆきひろです

In message "Re: [ruby-dev:29849] Re: Module duplicate"
    on Mon, 6 Nov 2006 10:14:12 +0900, Shugo Maeda <shugo@ruby-lang.org> writes:

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

それは主観なんでちょっと置いといて。
# 前田くん向けの説明:
# (コピーしないけど)Satherのinlcudeであると思えば気持ち悪く
# ないかも。

|>  導入の理由は、include したことをしっかりと影響を与えるため(上記例では
|> C2 で M を include したら、C2 のメソッド m より先に M のメソッド m が呼
|> ばれて欲しい、とか)ということです。
|
|ということだと、他の選択肢は
|
|[C2, M, C1, Object, Kernel, BasicObject]
|
|になるのでしょうか。

これはありえないと思います。C1がMに依存してたら動かなくなり
ますから。

|なので、1.8の挙動の方が好ましいような気がするのですが、この変更が原因
|で動かなくなっているコードがないのなら、問題ないのかなあ。

その場合、C2はMを直接includeしたのに、見えるのはC1で「修飾」
されたメソッドになりますよね。overrideとかaliasとかundefとか。
それは嬉しくないんじゃないかなあ。で、このケースだとそうでも
ないんですが、

  module M1
  end
  module M2
    include M1
  end
  module M3
    include M1
  end
  class C1
    include M2
  end
  class C2<C1
    include M3
  end

のようなケースだと、特にM3とM1の間にいろいろ入ることの嬉しく
なさが目立ちそうです。

で、動かなくなるコードがあるかどうかですが、test/unitの一部
が動かなくなったので、手を入れました。それ以外には大きな問題
は無かったようです。

                                まつもと ゆきひろ /:|)

In This Thread