Ruby 3-1

こんにちは!

PCの計算、というか数値は奥が深い。

算術演算子

まずは基本的な計算からです。
ややこしいものをピックアップしていきます。

calc_div.rb
Image from Gyazo

Image from Gyazo

整数同士の除算は商も整数になります。
浮動小数点数とすることで回避します。

calc_div_fdiv.rb
Image from Gyazo

Image from Gyazo

除算機能を持ったメソッドがあります。
divメソッドは整数型の値を返し、fdivメソッドは浮動小数点型の値を返します。

calc_div_zero.rb
Image from Gyazo

Image from Gyazo

calc_div_zero2.rb
Image from Gyazo

Image from Gyazo

整数型の場合、ゼロ除算はエラーとなります。
浮動小数点型の場合はInfinity、無限大となります。

calc_surplus.rb
Image from Gyazo

Image from Gyazo

割る数の符号と剰余の符号を一致させます。
7÷(-3)=(-3)...(-2) といった感じです。

calc_remainder.rb
Image from Gyazo

Image from Gyazo

割られる数の符号と剰余の符号を一致させるremainderメソッドがあります。

calc_divmod.rb
Image from Gyazo

Image from Gyazo

整数部の商と剰余の値を得られるdivmodメソッドがあります。
商は常に整数、剰余の符号は割る数に一致します。

calc_rational.rb
Image from Gyazo

Image from Gyazo

数値の末尾に「r」をつけることで、有理数を表すRational型の値を作成できます。
Rational型の演算結果は分数となるので、少数の結果が欲しければ.to_fでFloat型に変換しましょう。

calc_rational2.rb
Image from Gyazo

Image from Gyazo

このような方法でもRational型を生成することができます。

以上となります。
除法や符号関係での注意が必要ですね。
長年数学を勉強してきたことで、特に抵抗なく理解できたことはよかったと思います。

ではでは。