[#2355] [Req] Array#reverse — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

19 messages 1997/03/13
[#2357] Re: [Req] Array#reverse — matz@... (Yukihiro Matsumoto) 1997/03/13

まつもと ゆきひろです.

[#2359] Re: [Req] Array#reverse 1997/03/13

けいじゅ@SHLジャパンです.

[#2387] Kanji String — gotoken@... (GOTO Kentaro)

はじめまして、 後藤ともうします。

33 messages 1997/03/19
[#2389] Re: Kanji String — matz@... (Yukihiro Matsumoto) 1997/03/19

まつもと ゆきひろです.

[#2391] Re: Kanji String — gotoken@... (GOTO Kentaro) 1997/03/19

後藤です

[#2393] Re: Kanji String — matz@... (Yukihiro Matsumoto) 1997/03/19

まつもと ゆきひろです.

[#2465] curses library — MAEDA Shugo <ender@...> 1997/03/28

前田です。

[#2402] about TCPserver — MAEDA Shugo <ender@...>

前田です。

45 messages 1997/03/21
[#2403] Re: about TCPserver — matz@... (Yukihiro Matsumoto) 1997/03/22

まつもと ゆきひろです

[#2405] Re: about TCPserver — MAEDA Shugo <ender@...> 1997/03/23

前田です。

[#2406] Re: about TCPserver — matz@... (Yukihiro Matsumoto) 1997/03/24

[#2408] Re: about TCPserver — WATANABE Hirofumi <watanabe@...> 1997/03/24

わたなべです.

[#2411] Re: about TCPserver — MAEDA Shugo <ender@...> 1997/03/24

前田です。

[#2417] Re: about TCPserver — matz@... (Yukihiro Matsumoto) 1997/03/25

まつもと ゆきひろです.

[#2425] Re: about TCPserver — MAEDA Shugo <ender@...> 1997/03/25

前田です。

[#2439] url escape — gotoken@... (GOTO Kentaro)

どシロウトの後藤です.

57 messages 1997/03/27
[#2451] Re: url escape — sinara@... 1997/03/27

原です。

[#2455] class design (Re: url escape) — matz@... (Yukihiro Matsumoto) 1997/03/27

まつもと ゆきひろです

[#2471] Re: class design (Re: url escape) — sinara@... 1997/03/28

原です。

[#2487] Re: class design (Re: url escape) — matz@... (Yukihiro Matsumoto) 1997/03/29

まつもと ゆきひろです

[#2510] Re: class design (Re: url escape) 1997/03/30

けいじゅ@SHLジャパンです.

[#2603] Re: class design (Re: url escape) — sinara@... 1997/04/04

原です。

[#2505] Re: WWW library (Re: class design) — Shin-ichiro Hara <sinara@...>

原です。

15 messages 1997/03/30

[ruby-list:2510] Re: class design (Re: url escape)

From:
Date: 1997-03-30 18:12:00 UTC
List: ruby-list #2510
けいじゅ@SHLジャパンです. 

知らない間にメイルの洪水が起こっていますね....

In [ruby-list :02487 ] the message: "[ruby-list:2487] Re: class design
(Re: url escape) ", on Mar/29 11:23(+0200) matz@caelum.co.jp (Yukihiro
Matsumoto) writes:

>「rubyによる『作る』オブジェクト指向」という文章がそのうち石
>塚さんか私によって書かれるはずですから,そこにはきっと載るん
>じゃないですか?

いみありげなぁ(^^;;;

>後,特異メソッドのいれものとして使うなんて使い方も考えられま
>すね.あまり正当的ではないと思いますけど.

特異メソッドのクラス版(特異クラス??)の入れものとしてモジュールを使うと
いうてもありますね(^^;;;

>|某I塚さんですね。(^_^) 私も最初あまり使わなかったんですが、
>|I塚さんが良く使われるので私も影響を受けているのです。一辺
>|たずねてみたかったのですが、どうして 特異メソッドと extend
>|を多用なさるのでしょう。> 石塚さん

>メタクラスが見えるSmalltalk出身だから?

学生時代はmeta-mathematics(数学基礎論), 特に構成的数学にはまっていたか
ら(^^;;;

冗談はさておき. Smalltalk出身であることは事実なのですが, Smalltalkはシ
ングル継承しかできませんので, 選択肢が狭くてあまり迷う余地はありません
よね. 一方, rubyは色々選べてかえって迷ってしまうという... 

私は元々, super class/subclassの構成に関しては, 標準的というか純粋とい
うか正規的であって, 変な継承の仕方は好みでありません.

例えば, Arrayのサブクラスとして(数学の)ベクトルを表すVectorを作るとか
は絶対しません. そういう意味では, 純粋なSmalltalkerといえるのですが... 
ただ, それはシングル継承しか選択肢のなかった時での話しで, rubyの場合は
ちょっと変わってきますよね...

私の考えのもう1つの基本となるものは, クラスという概念は副次的なもので
あって, まずオブジェクトありきです. クラスはある共通した性質を持つオブ
ジェクト群を抽象化したものであるという風に考えています.

# そういう意味では構成的数学のパラダイムの影響を受けているといえないで
# もないですね.

まあ, そんなわけでクラス単位ではなくて, 個別のオブジェクトに機能を追加
するという考え方にはそれほど違和感をもっていません.

とはいえ, 本当の理由は, 特異メソッドやextendにこっているのは, 物珍しい
だけかも知れません(^^;;; こういう言語は手元にありませんでしたので...
色々使ってみて実際にどのような用途があるのか体験中ってところでしょうか...

最近は, ソケットの汎用プロトコル作成/通信フレームワークに挑戦中なので
すが, そこでは mix-inモジュールの効果的利用法に挑戦中です. FWの様なあ
る程度制限された用途のクラスライブラリにおけるmix-inモジュールも色々な
用途があるなあと実感しつつあります.

rubyでは, 色々なクラス(オブジェクト)構成法があって面白いと思っています.
モジュールでは:

* メソッドをまとめるために使うパッケージとしてのモジュール
* includeされるためのmix-inモジュール
* 主にextendに用いられるモジュール
* 抽象モジュール(抽象クラスのモジュール版)

クラスの作り方としては:
* 独立クラス
* サブクラス
* proxyクラス(デレゲーション)
* あるクラスをincludeしたクラス

オブジェクトの構成法:
* インスタンス
* 特異メソッドを付加したオブジェクト
* モジュールをextendしたオブジェクト

既にあるクラスに機能を追加するには:

* サブクラスを作る.
* proxyクラスをつくる.
* 既にあるクラスに直接メソッドを追加する.
* 既にあるクラスに直接モジュールを追加(include)する.
* インスタンスに対して特異メソッドを定義する.
* インスタンスに対してモジュールをextendする.

このように色々な用法があるわけですから, 色々と悩むのも当たり前といえば
当たり前ですね.

PS.  
ただ, 私だって, 実際はextendや特異メソッドだけを使っているわけで
なくて, サブクラスを使っていることの方が多いんですよ.


__
.....................................石塚 圭樹@SHLジャパン(株)...
------------->アドレス変わりました!! e-mail: keiju@shljapan.co.jp <----

In This Thread