IntegerクラスとFloatクラス

広告

数値のクラスとしては大きく分けてIntegerクラスとFloatクラスが用意されています。Integerクラスは整数を、Floatクラスは浮動小数点数を扱う場合に使います。

リテラルとしての数値の使い方にはついては『数値と四則演算』を参照して下さい。

IntegerクラスにはサブクラスとしてFixnumクラスととBignumクラスが用意されています。この2つのクラスは数値のサイズによって自動的に変換が行われます。環境によって異なるようですが、31ビット程度の領域に収まる数値の場合がFixnumクラス、それを超える場合にはBignumクラスに自動的に変換されます。Bignumクラスの場合は上限は無いようです。

数値を扱う場合には次のように記述します。

intNum = 10
floatNum = 8.4

Integerクラスを明示的に使ってオブジェクトを作成するには次のように記述します。

Integer.induced_from(num)

引数に指定した値を持つIntegerクラスのオブジェクトを作成します。

Floatクラスを明示的に使ってオブジェクトを作成するには次のように記述します。

Float.induced_from(num)

引数に指定した値を持つFloatクラスのオブジェクトを作成します。

ただしこの構文を使うことはほとんど無いと思います。通常は単に数値を記述します。

サンプルプログラム

では簡単なサンプルで試してみます。

LibraryNum1.rb

#! ruby -Ks

i = Integer.induced_from(12)
f = Float.induced_from(12)

print(i, "¥n")
print(f, "¥n")

実行結果は次のようになります。

Integerクラス及びFloatクラスのオブジェクトを作成

引数に指定している値は同じですが「Integer.induced_from(12)」の結果が「12」なのに対して「Float.induced_from(12)」の結果が「12.0」となっていることが確認できます。

( Written by Tatsuo Ikura )