数値クラスと配列クラス

☆数値クラス
数値クラスまたの名をNumericクラスといいます。


数値クラスの構成

Numeric ―― Integer ―― Fixnum
       |       |― Bignum
       |― Float

整数(Integer)クラスと浮動小数(Flaot)クラスは数値(Numeric)クラスを継承しています。

普通の整数(Fixnum)クラスと大きな整数(Bignum)クラスは、整数(Integer)クラスを継承しています。

整数と少数は必ず数値の中に含まれます。

サブクラスは、スーパークラスインスタンスの範囲を超えることはできません。



さて、Numericクラス内で使えるメソッドとは、どういったものでしょう。

★divmodメソッド
1.概要
xをyで割ったときの商と余を配列で返してくれる。

2.記述方法
x.divmod(y)
具体的に書くと

p 100.divmod(3) #=> [33, 1]
p 200.divmod(7.5) #=> [26, 5.0]
p -200.divmod(7.5) #=> [-27, 2.5]

※注意
xの値が負であると、余が正になるまで負の商で割ります。

★moduloメソッド
1.概要
xをyで割ったときの余を返してくれる。

2.記述方法
x.modulo(y)
または、
x % y
具体的に書くと

p 100.modulo(3) #=> 1
p 200 % 7.5 #=> 5.0
p -200 % 7.5 #=> 2.5

※注意
xの値が負であると、余が正になるまで負の商で割ります。


★remainderメソッド
1.概要
xをyで割ったときの余を返してくれる。
moduloメソッドとは違い、xの値が負であると、負の商で割った、負の余を返します。

2.記述方法
x.remainder(y)
具体的に書くと、

p -200.remainder(7.5) #=> -5.0

★..と...の違い