From: keiju@... (ÀÐÄͷ½¼ù ) Date: 1996-10-31T15:06:45+09:00 Subject: [ruby-list:968] Re: Rational けいじゅ@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 <----