[#6219] Ruby連載 第4話 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

32 messages 1998/02/04
[#6221] Re: Ruby連載 第4話 — Shin-ichiro HARA <sinara@...> 1998/02/04

原です。

[#6224] Re: Ruby連載 第4話 — Yasunari Momoi <conan@...> 1998/02/04

ももちゃん@あるもにこすです.

[#6225] Re: Ruby連載 第4話 — matz@... (Yukihiro Matsumoto) 1998/02/04

まつもと ゆきひろです

[#6249] Re: i++ — 助田 雅紀 <masaki.suketa@...>

助田です。

33 messages 1998/02/04
[#6252] Re: i++ — gotoken@... (GOTO Kentaro) 1998/02/05

ことけんです

[#6255] Re: i++ — matz@... (Yukihiro Matsumoto) 1998/02/05

まつもと ゆきひろです

[#6260] Re: i++ — Yuji Shigehiro <sigehiro@...> 1998/02/05

しげひろです.

[#6314] RE: ruby's design policy (Re: I'd like to subscr ibe this ML) — 助田 雅紀 <masaki.suketa@...>

オブジェクト指向周辺をぶらぶらしている助田です。

11 messages 1998/02/06

[#6333] ruby 流に添削して下さい — nkon@...2.3web.ne.jp

13 messages 1998/02/07
[#6335] Re: ruby 流に添削して下さい — OZAWA Sakuro <crouton@...> 1998/02/07

さくです.

[#6372] ruby 1.1b7 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

24 messages 1998/02/10
[#6402] parsedate (Re: ruby 1.1b7 released) — WATANABE Hirofumi <watanabe@...> 1998/02/13

わたなべです.

[#6405] Re: parsedate (Re: ruby 1.1b7 released) — Tadayoshi Funaba <tadf@...> 1998/02/13

ふなばです。

[#6407] Re: parsedate (Re: ruby 1.1b7 released) — matz@... (Yukihiro Matsumoto) 1998/02/13

まつもと ゆきひろです

[#6373] call for scripts — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

133 messages 1998/02/10
[#6414] Re: call for scripts — Terutuoshi Kaneshiro <k-teru@...06.odn.ne.jp> 1998/02/14

金城です.

[#6428] Re: call for scripts — matz@... (Yukihiro Matsumoto) 1998/02/16

まつもと ゆきひろです

[#6448] Re: call for scripts — Terutuoshi Kaneshiro <k-teru@...06.odn.ne.jp> 1998/02/16

金城です.

[#6452] Re: call for scripts — matz@... (Yukihiro Matsumoto) 1998/02/17

まつもと ゆきひろです

[#6481] Re: call for scripts — Kikutani Makoto <kikutani@...> 1998/02/17

きくたに@ぷ〜たろ〜です。

[#6483] Re: call for scripts — OZAWA Sakuro <crouton@...> 1998/02/17

さくです.

[#6495] Re: call for scripts — WATANABE Hirofumi <watanabe@...> 1998/02/18

わたなべです.

[#6416] Re: call for scripts — shugo@... (Shugo Maeda) 1998/02/14

前田です。

[#6417] rgrep (Re: call for scripts) — shugo@... (Shugo Maeda) 1998/02/15

前田です。

[#6423] Re: rgrep (Re: call for scripts) — matz@... (Yukihiro Matsumoto) 1998/02/16

まつもと ゆきひろです

[#6612] Re: call for scripts — Tadayoshi Funaba <tadf@...> 1998/02/21

ふなばです。

[#6582] File::Separator on cygwin — OZAWA Sakuro <ozawa@...>

小澤さくです。

19 messages 1998/02/20
[#6583] Re: File::Separator on cygwin — WATANABE Hirofumi <watanabe@...> 1998/02/20

わたなべです.

[#6586] Re: File::Separator on cygwin — OZAWA Sakuro <ozawa@...> 1998/02/20

小澤さくです。

[#6591] ruby 1.1b8 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

32 messages 1998/02/20
[#6620] rbc.rb and binding — shugo@... (Shugo Maeda) 1998/02/22

前田です。

[#6629] Re: rbc.rb and binding — keiju@... (石塚圭樹 ) 1998/02/23

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

[#6643] Re: rbc.rb and binding — shugo@... (Shugo Maeda) 1998/02/23

前田です。

[#6649] Re: rbc.rb and binding — keiju@... (石塚圭樹 ) 1998/02/23

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

[#6650] Re: rbc.rb and binding — matz@... (Yukihiro Matsumoto) 1998/02/23

まつもと ゆきひろです

[#6667] JRI 0.5 worked (was Re: rbc.rb and binding) — OZAWA Sakuro <crouton@...> 1998/02/23

さくです.

[#6687] Re: JRI 0.5 worked (was Re: rbc.rb and binding) — shugo@... (Shugo Maeda) 1998/02/24

前田です。

[#6712] JRI and JDBC — OZAWA Sakuro <ozawa@...> 1998/02/24

小澤さくです。

[#6635] hello — WATANABE Tetsuya <tetsu@...>

渡辺哲也と申します。

15 messages 1998/02/23

[#6706] Re: Counter class — toyofuku@...

豊福@パパイヤです。

12 messages 1998/02/24

[#6735] Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda)

前田です。

27 messages 1998/02/24
[#6746] Re: Mutex/ConditionVariable/Queue — keiju@... (石塚圭樹 ) 1998/02/25

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

[#6747] Re: Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda) 1998/02/25

前田です。

[#6752] Re: Mutex/ConditionVariable/Queue — senda@... 1998/02/25

From: shugo@po.aianet.ne.jp (Shugo Maeda)

[#6754] Re: Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda) 1998/02/25

前田です。

[#6756] Re: Mutex/ConditionVariable/Queue — senda@... 1998/02/25

From: shugo@po.aianet.ne.jp (Shugo Maeda)

[#6786] Re: Mutex/ConditionVariable/Queue — senda@...

From: shugo@po.aianet.ne.jp (Shugo Maeda)

33 messages 1998/02/26
[#6791] Re: Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda) 1998/02/26

前田です。

[#6794] Re: Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda) 1998/02/26

前田です。

[#6796] Re: Mutex/ConditionVariable/Queue — keiju@... (石塚圭樹 ) 1998/02/26

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

[ruby-list:6323] Re: ruby's design policy (Re: I'd like to subscr ibe this ML)

From: matz@... (Yukihiro Matsumoto)
Date: 1998-02-06 10:30:56 UTC
List: ruby-list #6323
まつもと ゆきひろです

井上さんROMじゃなくなってますね ^^;;;
良いことだ….

In message "[ruby-list:6322] Re: ruby's design policy (Re: I'd like to subscr ibe this ML)"
    on 98/02/06, INOUE Katsuyuki <inoue@pps.sdl.melco.co.jp> writes:

|スクリプト言語では,型について考えなくてよいという性質は,その言語の特
|長というよりも,必須の条件だと思います。

私もそう思います.

|>     引数がある型に適合しているかどうか保証する必要はなく,た
|>     だあるメッセージに反応するかどうかだけで適合が決まるので,
|>     不自然な継承関係を作る必要はありません.
|
|これは,静的型言語でも,interface を使うことで,(実用上,困らないくら
|い)緩和されるように思っているのですが,認識が甘いでしょうか?

いや,そうだと思いますよ.もっとも動的型システムではまったく
考えないわけですから,「この仕様(のサブセット)は継承階層を跨
るからinterfaceを用意しなくちゃな」などと考える必要さえない
わけです.お手軽という見地からはそういうことさえ考えたくない
わけです.

# いや,考えるのは悪いことじゃないですよ.いつも考えなくちゃ
# いけないのが疲れちゃうだけで.

|>     更に型チェックが動的に行われるため実行コストがかかる場合
|>     もあります.
|
|実行コストをかけずに,動的な型チェックができるのでしょうか。
|よろしければ,教えてください。

できないです(笑).でも,動的な型チェックって結局メソッドの動
的結合によっているわけですから,これは静的型の言語でもある程
度発生するわけです.あ,でも C++ だと動的な検索はしないな.
# 古い人間であることを露呈してしまった….

|そもそも,強い型付け + 静的型 + 単一継承 + interface な言語(うーん,
|Java しか知らない)で,モデルを維持したまま,実装を継承するのって,可能
|なんでしょうか?

できると思いますよ.多重継承の代わりにMix-inをすればよいわけ
ですから.fj.comp.oopsで前田さんがJavaにMix-inがあれば良いの
にって発言してましたよね.もしJavaにMix-inを導入したとして,
言語がそのぶん複雑になる以外には別に破綻しないと思います.

|Min-in って,なんでしょうか?
|Mix-in は多重継承と同じ複雑さを引き起こすように,私には感じられるので
|すが,それを抑制するご利益が,Min-in にはあるのですか?

Mix-inは多重継承を行う時に主たる継承元以外のクラスは

  * 通常の継承階層に属さない
  * 具象クラスでない

という制限をつけるというテクニックです.主たる継承関係以外は
is-aの関係ではなく,性質の付加という働きを持ちます.多重継承
における継承関係の複雑化の原因の多くはあるクラスが複数のクラ
スに対してis-a関係を持つことですから,このことによって継承関
係の複雑化をある程度避けることが出来ます.

もっとも,多重継承の問題点のうち,名前の衝突についてはまった
く解決されません.ただ,関係が単純になるだけです.

rubyではMix-inする対象をクラスでなく,スーパークラスをもたず,
インスタンスを作ることが出来ないモジュールに限ることで強制し
ています.

|私も,この辺の解説を ruby 本に期待したいんですが,あんまり詳しく扱っちゃ
|うと,まつもとさんの当初の意図と違う本になっちゃうんですよね?

この部分(なぜ多重継承でなくMix-inか)だけはある程度説明すると
思います.もっとも,今日書いたことの繰り返しになると思います
けどね.
                          いちおうスクリプト言語の本ですから
                                まつもと ゆきひろ /:|)

In This Thread