![]() |
実は、本書で「Rational」の定義を間違えて書いてしまいました。 さて、そんなRationalですが、分数2/3を表すときに Rational(2,3) と書きますね。 さて、これナニ?メソッドなの? と悩む方も多いのではないでしょうか。 実は、メソッドです。 じゃあ、誰が呼び出しているのか? 実は、Rubyが用意したいろんなしくみんとこで呼び出しているので、ワレワレが特に指定するものではないんです。 本書では紹介してないんですが、割り算して分数を出す方法にはもうひとつ、メソッドquoというのがあります。 2.quo(3) と書きます。 だからどっちでもいいんです。 でも、Rubyってやつぁ、なるべく、人間がアタマで考えたことをそのままプログラムに書けるようにしてくれています。 だから、「2ってヤツがあってソイツを3で割るんだ」という感じに書きたいときはは、2がquoを呼び出して3を引数に指定するとしっくり来るじゃあないですか。 それに対してRationalってヤツは「特にぃーなんかの割り算をしたいわけじゃなくてぇーただ3分の2って割合を表したいだけなのぉー」という感じのとき、誰が呼んだかにはこだわらず書けるじゃあないですか。 そんなつもりで書き分けるといいと思います。どっちがどっちでなきゃダメってことはありません。 なお、どっちも Rational(2,3).to_f とto_fメソッドを呼び出してやれば小数で表せます。 目次へこのページの目次へ |