今回はRubyの数値リテラルについて学習方法を解説していきます。
以前の記事でStringとSymbolについて説明してますので、そちらもご確認ください。
今回は数値リテラルについて解説していきます。
IntegerとFloat
整数がInteger、小数はFloatです。
pry(main)> 1.class
=> Integer
pry(main)> 1.3.class
=> Float
四則演算
四則演算は以下のように記載、計算されます。
Floatが計算式にあると結果もFloatになります。
[31] pry(main)> 1 + 1
=> 2
[32] pry(main)> 2 - 1
=> 1
[33] pry(main)> 100 * 1.05
=> 105.0
[34] pry(main)> 4 / 2
=> 2
その他の計算用演算子、メソッド
その他にも計算に使用できる演算子、メソッドがあります。
# 余りの計算
[35] pry(main)> 5 % 2
=> 1
# 乗数の計算
[36] pry(main)> 5 ** 2
=> 25
# 四捨五入
[37] pry(main)> 1.5.round
=> 2
[38] pry(main)> 1.4.round
=> 1
# 切り上げ
[39] pry(main)> 1.1.ceil
=> 2
# 切り捨て
[40] pry(main)> 1.1.floor
=> 1
Enumeratorオブジェクト
timesメソッドをIntegerに使用することで、生成できます。
こちらは繰り返し処理する際に使用されたりします。
[42] pry(main)> 3.times do |i|
[42] pry(main)* puts i
[42] pry(main)* end
0
1
2
=> 3
doからendまでの処理を「ブロック」と呼びます。
上記の例では「i」という変数にEnumeratorオブジェクトが渡され、Enumeratorオブジェクトの中身を一つづつ出力しています。
以下のように「{}」で囲むことで記載することもできます。
[43] pry(main)> 3.times { |num| puts num }
0
1
2
=> 3
# よくない書き方 「{}」の前後はスペースを入れましょう
[44] pry(main)> 3.times {|num| puts num}
0
1
2
=> 3
使い分け
上記で説明したように「do」「end」で記載する方法と「{}」での記載方法があります。
では実際にはどのように使い分けをするのでしょう。
チームで仕事している際はコーディング規約があればそれに従いますが、特にルールがなければ1行で記載できるものについては「{}」の記載方法を使用し、2行以上になるものについては「do」「end」を記載するのが一般的にRubyコミュニティーで使用されているルールになります。
コメント