[#18233] [book] blade.nagaokaut.ac.jp/ruby/ruby-list/ — Shin-ichiro Hara <sinara@...>

原です。

21 messages 1999/11/01
[#18239] [book] csv_split2 [Re: blade.nagaokaut.ac.jp/ruby/ruby-list/] — keiju@... (石塚圭樹) 1999/11/01

けいじゅ@日本ラショナルソフトウェアです.

[#18244] Re: [book] csv_split2 [Re: blade.nagaokaut.ac.jp/ruby/ruby-list/] — Shin-ichiro Hara <sinara@...> 1999/11/01

原です。

[#18289] Re: [book] csv_split2 — Koretsugu Daigoro <tmmcross@...> 1999/11/02

これつぐです。

[#18291] Re: [book] csv_split2 — keiju@... (石塚圭樹) 1999/11/02

けいじゅ@日本ラショナルソフトウェアです.

[#18311] Re: [book] csv_split2 — Koretsugu Daigoro <tmmcross@...> 1999/11/02

これつぐです。

[#18338] オブジェクトの非同一性判定 — Ayanosuke <aya@...>

 綾乃介です。

13 messages 1999/11/03

[#18539] [book] $*, etc. — Yasuhiro Fukuma <yasuf@...>

福間@福岡 です。

44 messages 1999/11/11

[#18580] — tokoma@... (中川 誠)

中川です。

44 messages 1999/11/14
[#18619] build on alpha — Go Nakagawa <nakagawa@...> 1999/11/15

もとの質問のかたとは別の中川です。

[#18737] Re: build on alpha — tokoma@... (中川 誠) 1999/11/18

中川です。

[#19144] Re: build on alpha — tokoma@... (中川 誠) 1999/12/04

中川です。長文で失礼します。

[#19341] Re: build on alpha — tokoma@... (中川 誠) 1999/12/09

中川です。

[#19344] Re: build on alpha — matz@... (Yukihiro Matsumoto) 1999/12/09

まつもと ゆきひろです

[#19400] Re: build on alpha — tokoma@... (中川 誠) 1999/12/10

中川です。

[#19426] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/11

えぐち@エスアンドイー です。

[#19459] Re: build on alpha — tokoma@... (中川 誠) 1999/12/13

中川です。

[#19461] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/13

えぐち@エスアンドイー です。

[#19506] Re: build on alpha — tokoma@... (中川 誠) 1999/12/14

中川です。

[#19520] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/15

えぐち@エスアンドイー です。

[#19522] Re: build on alpha — matz@... (Yukihiro Matsumoto) 1999/12/15

まつもと ゆきひろです

[#19543] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/15

えぐち@エスアンドイー です。

[#19562] Re: build on alpha — tokoma@... (中川 誠) 1999/12/15

中川です。

[#19569] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/16

えぐち@エスアンドイー です。

[#19592] Re: build on alpha — tokoma@... (中川 誠) 1999/12/16

中川です。

[#18637] constant? — Kazuhiro Yoshida <moriq.kazuhiro@...>

もりきゅうです。

20 messages 1999/11/16
[#18640] Re: constant? — WATANABE Hirofumi <Hirofumi.Watanabe@...> 1999/11/16

わたなべです.

[#18650] Re: constant? — Kazuhiro Yoshida <moriq.kazuhiro@...> 1999/11/16

もりきゅうです。

[#18657] Re: constant? — matz@... (Yukihiro Matsumoto) 1999/11/16

まつもと ゆきひろです

[#18709] ADO にて datetime 型の取得 — Takashi SHIODA <tsio@...>

塩田です。

18 messages 1999/11/18
[#18779] Re: ADO にて datetime 型の取得 — Masaki Suketa<CQN02273@...> 1999/11/20

助田です.

[#18802] Re: ADO にて datetime 型の取得 — Takashi SHIODA <tsio@...> 1999/11/21

オレンジソフト塩田です。

[#18712] Re: header output in eruby — TAKEUCHi Kahori <take-k@...>

たけうちです。

16 messages 1999/11/18
[#18716] Re: header output in eruby — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/11/18

なひです.

[#18830] mod_ruby-0.1.4 — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

16 messages 1999/11/22

[#18853] initializer polymorphism? — Takeyuki Watadani <watadani@...>

渡谷といいます。

25 messages 1999/11/23

[#18911] Re: eRuby 変換後の無駄 (?) な改行 — TAKEUCHi Kahori <take-k@...>

たけうちです。

14 messages 1999/11/25

[#18914] Ruby standard GUI framework? — Hideto ISHIBASHI <s34204@...>

石橋秀仁です。

43 messages 1999/11/25
[#18975] Re: Ruby standard GUI framework? — 中村暁史 Nakamura Akifumi <BXQ04723@...> 1999/11/27

[#19020] Re: Ruby standard GUI framework? — Hideto ISHIBASHI <s34204@...> 1999/11/29

石橋秀仁です。

[#19026] Re: Ruby standard GUI framework? — Noritsugu Nakamura <nnakamur@...> 1999/11/29

[#19081] Re: Ruby standard GUI framework? — "Hideaki Takata" <hideakit@...3.dion.ne.jp> 1999/12/01

たかたです。

[#19092] Re: Ruby standard GUI framework? — Noritsugu Nakamura <nnakamur@...> 1999/12/01

[#19112] Re: Ruby standard GUI framework? — 中村暁史 Nakamura Akifumi <BXQ04723@...> 1999/12/02

[#19131] Re: Ruby standard GUI framework? — Noritsugu Nakamura <nnakamur@...> 1999/12/03

[#18948] 他言語との比較 — とみたまさひろ <tommy@...>

とみたです。

18 messages 1999/11/26

[ruby-list:18799] Re: super

From: 中村暁史 Nakamura Akifumi <BXQ04723@...>
Date: 1999-11-20 23:44:48 UTC
List: ruby-list #18799
お世話になっております。 A.中村です。

On Sun, 21 Nov 1999 06:02:46 +0900
Kazuhiro Yoshida <moriq.kazuhiro@nifty.ne.jp> wrote:

>module での initialize という名のメソッドは混乱のもとだから
>使わないってのはどうかな。^^;

却下っす(T_T)
moduleって、「自分では子(instance)を産めないけど
パートナー(それをincludeしたclass)に産ませることができる」
という、「オス」のような気がします。
「俺は子を産めないが、育てるならこんな子にしたいぜ」
って感じ。クラスはメス。オスに「子を産む能力(new)」とかを
追加するとメスになった。(生物学の説と逆なのかな(笑))

ってのはどうでもいいですが(笑)、とにかく、initialize「に」
させるべきことを追加したい場合、moduleにinitializeを
書く以外に手は無いと思います。

特定のインスタンス変数をつけ(させ)るmodule、とか。
たとえばCompositeモジュールが@parentと@childrenを付けるなど。
@parentはまだいいですが、@childrenは配列などでないと駄目なんで
initializeのときに付けてあげないとしょーがない。

その場合は勿論、M#initializeの中にsuperを書くのを忘れずに。

>@s1 は M1 のものではなく,M1 を include したクラス
>例えば C のものである。 # だからインスタンス変数って言うんだな

その言い回しは、違うんでないでしょか。
インスタンス変数はクラスのもんじゃなくて
インスタンスのものです。
#だからインスタンス変数って言うんだな

インスタンスにとっては、クラスCもモジュールM1も
自分にインスタンス変数などなどの機能を
「付けさせた」親だと思えます。両親って感じ。


いずれにせよ、moduleはincludeによってクラス階層に
「挿入される」ものなので、
initializeに限らず「任意の」メソッドを、同じ名前にすること
によってブロック(笑)できてしまうようです。

それを防ぐには、moduleで定義したメソッドに
superを付けることで、防げるっす。
#aliasするのは「わき道にそれる」なので、aliasじゃ
#望むかたちに出来ない場合もあるんじゃないかと思います。
#そういう場合は「抜け穴を掘る」superだなと。

逆にいえば、わざと名前をぶつけてsuperせずに
継承されたメソッドを潰す「当たり屋」のような(笑)
moduleも作れますね。意味あるべか。

class A
  def aa; p "aa"; end
end

module M
  def aa; p "mm"; end
end

class B<A; end
B.new.aa    #=> "aa"

class C<B;include M; end
C.new.aa    #=> "mm"    "aa"は出ない

上記で、M#aa にsuperを付けると、aaとmmの両方が
出るようになりますよね。


よだん:
以前話した某PDM環境でも、InsertClassという概念が
ありました。階層の途中に後からクラスを突っ込んで
メソッドもインスタンス変数も追加&変更できました。

つーか、既存のクラス階層の「途中」に後付けで
Insert出来たっす。既に出来あがってしまった階層に
機能追加するときに便利。
あ。Rubyでも後からincludeって出来るんですね。

class A
  def aa; p "aa"; end
end

class B<A; end
class C<B; end
C.new.aa         #=>"aa"

module M
  def aa; p "mm"; end
end

class B; include M; end 
C.new.aa         #=>"mm"

ただ某は、同じInsertClassを複数の個所にInsertは
出来なかったようでして、実装の「追加」には使えたけど、
実装の「共有」には使えなかったのでした(t_t)。

Rubyのmoduleは、再利用可能なInsertClassだなと
いう印象を持っています。


In This Thread