Rubyでは、Rational( )というコードを使うことで、カッコ内に指定した数値を分数に変換することができます。
このRationalは引数を取るので、その引数と実際の使い方を紹介します。
また分子だけ、分母だけを取得する方法も合わせて見ていきましょう。
はじめに
今回の記事は、Rubyで分数を使うRationalの引数と、実際の使用例を紹介します。
使用しているRubyのバージョンは「2.3.3」、エディタはSublimeTextで開発を行いました。
では早速、Rationalの引数から見ていきましょう。
Rationalの引数
タイトルの通り、Rationalは分数の計算をする時などに使用できるものなのですが、引数は2つとります。
引数というのは、仮にRational(A, B)と記述した時の「A」と「B」ですね。
この場合、Aが第一引数。Bが第二引数という呼び方をします。
さて、Rationalは2つの引数を取ると紹介しましたが、これらの引数には順番があり、以下のように設定することで値を分数として記述できます。
つまり「10分の1」を値にしたい場合は「Rational( 1, 10 )」になると言うわけです。
これを踏まえた上で、実際にRationalを使った分数の計算を記述してみましょう。
実際の使用例
Rationalで分母と分子を持つ分数が設定できたので、実際にコードから計算を実行していきましょう。
今回は以下のような簡単なコードを記述してみました。
a = Rational(1, 10)
b = Rational(3, 7)
c = a + b
puts c
先ほど、Rationalの引数は(分子, 分母)と説明しましたね。
今回のコードでは「10分の1」と「7分の3」で足し算をしてみました。
計算自体が簡単なので、自分で計算してみると答えは「70分の37」であるということがわかります。
実際にプログラムを実行してみても「37/70」が出力されました。
これで、分数の足し算ができました。
同様の方法で、引き算や掛け算などの「四則演算」が実行できるかと思います。
分子だけ、分母だけを出力
先ほどのプログラムでは、出力結果が分数になっていたと思いますが、必ずしも分数で値を受け取りたいわけではありませんよね。
次に紹介するコードを使用することで、分数から「分子だけ」を取り出したり、「分母だけ」を取り出すことができます。
先ほどのコードに以下のような記述を追加してみてください。
a = Rational(1, 10)
b = Rational(3, 7)
c = a + b
puts c
puts c.numerator
puts c.denominator
「numerator」と「denominator」という記述が追加されました。
実際にプログラムを実行すると「37」「70」が出力されます。
70
「numerator」が「分子」、「denominator」が「分母」です。
まとめ
今回紹介したRationalを使うことで、Rubyで分数の計算ができるようになりました。
次に紹介した「numerator」や「denominator」も分数から値を受け取る時に使えるので、ぜひ覚えておくようにしましょう。
ではまた。