コップ本の例題を読み進めると、Rational(5)ように、引数が一個しか無いコンストラクタを定義してます。
補助コンストラクタと呼んでます。pythonでどう書くか悩んだんですが、よく考えると
分母のデフォルトの引数を1にしただけで、解決でないですかね?2行目。
4行目から7行目までは、既約分数に直します。
ここで注意でしたが、pythonはデータの型が無いというか?割り算すると浮動小数点の
データに解釈されますので、intで整数の計算にしないとダメみたい!
この点でScalaはデータの型を関数の定義時点で、決めてるので、矛盾はない?と言えますか?
29行目でコップ本の例題に有るdef lessThanを定義してますが
加算が”+”で出来たことを考えると"<"を使いたくなりますね?
8行目のCreatedの分はなくてもいいと思いますが、コップ本の例題に従って、入れてみました。
いつも参考にしてますcametanさんのブログのうち※6を参考にして
Rationalクラスを別ファイルにして、チェックする部分と分けてみました。
これが意外と面倒で、自分はRationalクラスの定義ファイルとチェックするスクリプトが同じ
ディレクトリなので比較的簡単ではありましたが、いつものように混乱しました。(笑)
別のディレクトリだともっと混乱しそうですよ。
前とは違う種類の芍薬も咲きました。最後は、歩く姿のユリの花、そのうち咲くでしょう。