[#5880] "Linux Journal Vol.6" carries an article on Ruby — Shin-ichiro HARA <sinara@...>

原です。

16 messages 1998/01/19
[#5881] Re: "Linux Journal Vol.6" carries an article on Ruby — matz@... (Yukihiro Matsumoto) 1998/01/19

まつもと ゆきひろです

[#5905] win and unix, and so on — TAKAHASHI Masayoshi <maki@...>

高橋と申します。はじめまして。しばらくROMしてました。

27 messages 1998/01/20
[#5906] Re: win and unix, and so on — matz@... (Yukihiro Matsumoto) 1998/01/20

まつもと ゆきひろです

[#5912] Re: win and unix, and so on — WATANABE Hirofumi <watanabe@...> 1998/01/20

わたなべです.

[#5922] Re: win and unix, and so on — Shin-ichiro HARA <sinara@...> 1998/01/20

原です。

[#5951] How to use TkMenu ? — Kikutani Makoto <kikutani@...>

きくたにです。

16 messages 1998/01/21
[#5952] Re: How to use TkMenu ? — matz@... (Yukihiro Matsumoto) 1998/01/21

まつもと ゆきひろです

[#6023] Comparison with Other Languages (Re: [python-ml-jp 54] Re: Reasons why I prefer to use Python) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

8 messages 1998/01/26

[#6055] Ruby連載 第3回 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

68 messages 1998/01/28
[#6057] Re: Ruby 連載 第 3 回 — Kikutani Makoto <kikutani@...> 1998/01/28

きくたにです。

[#6060] Re: Ruby 連載 第 3 回 — matz@... (Yukihiro Matsumoto) 1998/01/28

まつもと ゆきひろです

[#6073] Re: Ruby連載 第3回 — hisanori@... 1998/01/28

松尾です。こんばんは。

[#6089] Re: Ruby連載 第3回 — matz@... (Yukihiro Matsumoto) 1998/01/29

まつもと ゆきひろです

[#6119] man/date/time — Tadayoshi Funaba <tadf@...>

こんにちは、ちょっと訊きたいことがあります。

37 messages 1998/01/29
[#6128] lib/date.rb (Re: man/date/time) — matz@... (Yukihiro Matsumoto) 1998/01/30

まつもと ゆきひろです

[#6136] Re: man/date/time — keiju@... (石塚圭樹 ) 1998/01/30

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

[#6155] Re: man/date/time — Tadayoshi Funaba <tadf@...> 1998/01/31

>すいません. ruby-devにだけポストしていました.

[ruby-list:6124] Re: Ruby 連載 第 3 回

From: matz@... (Yukihiro Matsumoto)
Date: 1998-01-30 02:22:48 UTC
List: ruby-list #6124
まつもと ゆきひろです

In message "[ruby-list:6113] Re: Ruby 連載 第 3 回"
    on 98/01/29, Takahiro Maebashi <maebashi@iij.ad.jp> writes:

|前橋です。

|Visitor,Delegater,Observer それぞれについて、簡単にでも説明して頂ける
|とありがたいです。Ruby本は出たら必ず買いますので。

本当ですね? ^^;;;
# これで1冊はキープしたな…

まだ,この部分の原稿を書くのは先だな,と思ってGamma本を手元
に用意していないのですが,

  Visitor

    コンテナ(あるいはオブジェクト群を表現する構造)の中身を順
    にたどっていくためのパターン.Rubyではクラスの関係(パター
    ン)ではなく,イテレータで実現する

  Delegater

    Delegation(委譲)を実現するパターン.自分の理解する以外の
    メッセージを他のオブジェクトに転送するパターン.このパター
    ンの一種にDecoraterもある

  Observer

    あるオブジェクトの状態が変化した時にその変化に追随するオ
    ブジェクト群のパターン.MVCのモデルとViewの関係

のはずです.間違ってたら教えて下さい.

|ところで Delegater ではなくて Delegator じゃないですか?

そうなんですか? しまったなあ,Delegaterってクラス作っちゃっ
たなあ.

|> のものが多くて,結局あれがライブラリではなくパターンなのは記
|> 述言語(要はC++)の記述力が低くて十分に抽象化できないので,ラ
|> イブラリ化できないだけではないか,という気がして来ています.
|
|すみません、ここの部分の意味がとれなかったのですが、、、、

C++の場合は静的な型があったり,ちゃんとしたGenericityがなかっ
たりして,ほとんどの場合あるパターンに一般的に対応するクラス
というのがあらかじめ定義できず,こういう関係のクラス群という
のを毎回定義する必要があります.一方Rubyでは静的な型というの
はありませんから,DelegaterやObserverのようにあらかじめその
パターンを実現するクラス(かモジュール)を実現できます.

まだ,作っていませんがSingletonパターン(あるクラスのインスタ
ンスを一つだけしか生成しないパターン)もライブラリ化できるは
ずです.

あと,Factoryパターン(オブジェクトを生成する機能を持つオブジェ
クトを用意する)も,クラスがオブジェクトであるRubyではほとん
ど不要です.

C++の場合には,おそらくtemplateを多用すればある程度まではラ
イブラリ化できると思いますし,STLは頑張っていると言う話を聞
きますが,templateは難しいし,すくなくともGamma本ではその範
囲のことには言及していません.

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

In This Thread