[#954] Rational — keiju@... (Keiju ISHITSUKA)

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

23 messages 1996/10/30
[#955] Re: Rational — matz@... (Yukihiro Matsumoto) 1996/10/30

まつもと ゆきひろです.

[#968] Re: Rational 1996/10/31

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

[ruby-list:968] Re: Rational

From:
Date: 1996-10-31 06:06:45 UTC
List: ruby-list #968
けいじゅ@SHLジャパンです. 

In [ruby-list :00955 ] the message: "[ruby-list:955] Re: Rational ",
on Oct/30 18:23(JST) matz@caelum.co.jp (Yukihiro Matsumoto) writes:

>|1. Numeric#abs

>あ,すみません.Numericクラスではabsは定義されていません.そ
>のサブクラスでは全て定義されていますけど.これはNumericを使
>う人用のドキュメントで,Numericクラスを作る人のことは考えて
>いませんでした.

わかりました. サブクラスで定義すべきメソッドですね.

>|2. coerce
>|3. Rational.coerce 

>本来は変換できないよ,と例外を発生させるメソッドです.

なるほど.

>|上記のように, Integerの対応を行なえばちゃんと動作しました. あとは,
>|superをこのまま残しておいて良いかどうか??
>
>残しておいても動作するべきです.上の変更で試してみてください
>ませ.

新しいバージョンで確認しました.

4. <=>
Comparableには <=> を定義すれば >,... が利用できるようになるとなってい
ます. 実際利用できますが,

print 2 > 1.1
print 2.1 > 1.1

の動作が変です.

思ったよりは問題は多くなかったです. 

timesやstepもちゃんと動作しています(^^;;

PS.
Rationalの実装はほとんど終りました. あとは, ** をどうするかだけです.

Rational**Integer -> Rational
Rational**Float   -> Float
はいいのですが...

Ratinal**Rational はどうするか迷いますね. 今は Floatとしていますが

1/4 ** 1/2 -> 1/2

にしたいきがしないでもない...

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

In This Thread