===================
参考文献
株式会社テクノロジックアート著, 独習Ruby; SHOEISHA
基本表記
i = 5 # 整数
f = 3.5 # 浮動小数
i = 0b1000000 # 2進数
j = 0100 # 8進数
k = 0x40 # 16進数
p i, j, k # => [64, 64, 64]
数値クラス
クラス |
説明 |
Bignum |
メモリサイズ内であれば無制限に大きな整数 |
Fixnum |
マシンのポインタサイズ(32bit, 64bit)までの整数 |
Float |
浮動小数点 |
数値の演算
i, j, k = 10, 5, 3
i + j # => 15
i - j # => 5
i * j # => 50
i / j # => 2
i % j # => 1
i ** k # => 1000
1 / 0 # => ZeroDivisionError例外が発生
数値の比較
5 == 8 # => false
5 != 8 # => true
5 < 3 # => false
5 <= 5 # => true
# 左が大きい時は1、右の時は-1、同じなら0を返す
5 <=> 8 # => -1
5 <=> 3 # => 1
5 <=> 5 # => 0
演算メゾッド
メゾッド名 |
説明 |
abs |
絶対値 |
div, quo |
商 (div:整数, quo:実数) |
modulo, remainder |
余り (modulo:引数の符号, remainder:呼び出し側の符号) |
divmod |
divとmoduloを合わせたもの。商と余りが返される |
ceil, floor |
小数点以下の丸め (ceil:元の数値よりも大きい整数, floor:小さい整数) |
round, truncate |
丸め (round:四捨五入, truncate:切り捨て) |
数値の判定メゾッド
メゾッド名 |
説明 |
zero?, nonzero? |
ゼロ、非ゼロの判定 |
integer? |
整数か判定 |
nan? |
NaN(Not a number)か判定 |
finite?, infinite? |
有限か無限か判定 |
数値の変換メゾッド
メゾッド名 |
説明 |
to_s |
文字列に変換 |
prec_f, prec_i |
整数と浮動小数点数の相互変換 |
数学系メゾッド
i = 100
Math.log10(i) # => 2.0
Math.sqrt(i) # => 10
# 別の使用法
include Math
i = 100
log10(i) # => 2.0
sqrt(i) # => 10