[#41455] オブジェクト同士の演算などを実装するには? — Hideo Konami <konami@...>

小波です.

24 messages 2005/11/02
[#41457] Re: オブジェクト同士の演算などを実装するには? — rubikitch <rubikitch@...> 2005/11/02

From: Hideo Konami <konami@kyoto-wu.ac.jp>

[#41459] Re: オブジェクト同士の演算などを実装するには? — Hideo Konami <konami@...> 2005/11/03

小波です.

[#41461] Re: オブジェクト同士の演算などを実装するには? — IWAOKA Masahiro <iwaoka@...> 2005/11/03

いわおかです。

[#41489] Matrixの継承について — argento@...

はじめまして。吉田と申します。

25 messages 2005/11/06
[#41495] Re: Matrixの継承について — Yukihiro Matsumoto <matz@...> 2005/11/06

まつもと ゆきひろです

[#41497] Re: Matrixの継承について — "T.Y" <argento@...> 2005/11/07

るびきち様、まつもと様

[#41499] Re: Matrixの継承について — keiju@... (石塚圭樹) 2005/11/07

けいじゅ@いしつかです.

[#41529] Re: Matrix の継承について — Shin-ichiro HARA <sinara@...> 2005/11/12

原です。

[#41535] Re: Matrix の継承について — keiju@... (石塚圭樹) 2005/11/14

けいじゅ@いしつかです.

[#41536] Re: Matrix の継承について — Yukihiro Matsumoto <matz@...> 2005/11/14

まつもと ゆきひろです

[#41537] Re: Matrix の継承について — keiju@... (石塚圭樹) 2005/11/14

けいじゅ@いしつかです.

[#41538] Re: Matrix の継承について — Yukihiro Matsumoto <matz@...> 2005/11/14

まつもと ゆきひろです

[#41503] 数を減らしてくループ — Takeshi Horinouchi <horinout@...>

堀之内と申します。

13 messages 2005/11/08

[#41602] エクセルファイルを読み込む際の問題(質問) — "Hisashi Yahata" <yahatah@...>

質問で恐縮ですが、ご教示ください。

14 messages 2005/11/28

[#41624] MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

26 messages 2005/11/30
[#41625] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/01

永井@知能.九工大です.

[#41627] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/01

天野竜太郎と申します。

[#41636] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/02

永井@知能.九工大です.

[#41637] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/02

8.4.10のtcl.hやtk.hは、

[#41644] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/03

永井@知能.九工大です.

[#41646] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/03

> Tcl/TkAqua もこの Macintosh のルールに従うのであれば

[#41647] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/03

永井@知能.九工大です.

[#41649] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/03

永井@知能.九工大です.

[#41650] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/04

天野です。

[#41651] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/04

永井@知能.九工大です.

[#41653] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/04

[#41658] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/04

永井@知能.九工大です.

[#41663] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/04

完全に私の勘違いです。

[#41664] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/05

永井@知能.九工大です.

[#41665] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/05

ruby-list:41651の

[ruby-list:41595] Re: Array#+, Array#* [Matrix の継承について]

From: Shin-ichiro HARA <sinara@...>
Date: 2005-11-26 07:31:53 UTC
List: ruby-list #41595
原です。

In [ruby-list:41594]
>けいじゅ@いしつかです.

>>原です。
>>  S + S => S
>>はいいのではないか。
>
>うーん. 
>
>class Prime<Integer;end
>
>とすると,
>
>  2 + 7 => 9
>
>となり, S+S=>S を満たしていないですよね. でも, Primeは置換
>原理を満たしていますので, Integerのサブクラスとしてはそれほ
>どおかしいわけではないです.

あ、部分集合をサブクラスとして作る場合ですね。想定外でした。
確かにおっしゃる通りで、「+ならいいんじゃないの?」という私
の意見はだめですね。

>サブクラスが乗法に関して閉じているかどうかは, サブクラスの
>作り方によりますので, 一概には言えないんじゃないでしょうか?

はい。

まとめておくと

  A#opという演算子が

    A op A => A

  という形で定義されているとき、AのサブクラスSに対して
  
    (1) S op A => A
    (2) S op A => S
    (3) S op S => S

  などのopの拡張があり得るが(他にもありえるが)、どれで
  であるべきかはケースバイケースである。

したがって、特別な理由がない限り不用意な継承をさせないために
(1)を選んでおく、ということかな。

ちなみに(3)はリスコフの置換原理に少し違反してる?


>>さしあたってArray#+、Array#*については継承してもいいような気
>>がするんだけどなあ。
>
>Arrayの場合ですよねぇ....
>
>class S<Array; end
>
>S+S=>S
>
>は普通は成り立つような気がしますが, サブクラスを返すとなると:
>
>S+Array=>?
>Array+S=>?
>
>については, ちゃんと考えなくてはならないし, さらには, class T<Array;
>end として
>
>S+T=>?
>
>はどうする? って問題もありますし,
>
>やはり, 積極的にサブクラス作成を認めていないArrayとしては, 
>必要ならサブクラス側で考えれば? っていいたいんですが?

なるほど、例えばSとしてSizedArrayなんかもあり得ますね。納得
しました。


ところでふとruby-listを「楕円」で検索したら、

  [ruby-list:2455] class design

から始まるスレッドを発掘しました。私も口を出していたのにすっ
かり忘れている。殆ど有史以前という感じですが、「Arrayを継承
してVectorを作るぐらいだったら死んだ方がまし(意訳)」とか興
味深い発言がいろいろありました。

金光さんが「オブジェクト指向プログラミング言語Ruby」の出版を考
えた瞬間が記録されている!


In This Thread