その他のナンバリングはこちら。
Paizaでよく使うRubyメソッド〜その4〜
each_with_indexメソッド
each_with_indexメソッドについて
要素の繰り返し処理と同時に、その要素が何番目に処理されたのかも表すことができる。
each_with_indexメソッドの例
# 例1
array = ['apple', 'banana', 'melon']
array.each_with_index do |fruit, i|
puts "#{fruit}は#{i + 1}番目にあります"
end
# => applieは1番目にあります
# => bananaは2番目にあります
# => melonは3番目にあります
# 例2
array = [25, 24, 1, 30, 48]
array.each_with_index do |num, i|
if num >= 25
puts "25以上の数字は#{i + 1}番目にあります"
end
end
# => 25以上の数字は1番目にあります
# => 25以上の数字は4番目にあります
# => 25以上の数字は5番目にあります
以上のようにブロック変数を2つ作ることができます。
1つ目は配列の各要素が順番に代入されます。
2つ目はその配列の位置を表す数字が順番に代入されます。
例2では処理に条件分岐を加える事でTrueのものだけ表示させるようにしています。
to_fメソッド
to_fメソッドについて
割り算の結果の小数点以下を表示するためのメソッド。
to_fメソッドの例
avr = 50/7.to_f
puts avr
# => 7.142857142857143
通常は小数点以下は表示されずに 7 が表示されます。to_f を付けることによって小数点以下を表示させることができます。
roundメソッド
roundメソッドについて
四捨五入をするメソッド。
引数に数を指定すれば「小数点第〇位以下を表示」のようにできる。
roundメソッドの例
avr = 50/7.to_f
puts avr.round(1)
# 7.1
引数を1にする事で小数点第1位以下を四捨五入しているのがわかる。
floor , ceil メソッド
floor, ceil メソッドについて
小数点以下を切り捨てる時はfloor(床)、切り上げる時はceil(天井)を使う。
共に引数に数を指定すれば小数点第〇位以下を切り捨て(切り上げ)のようにできる。
floor , ceilメソッドの例
# 切り捨てfloor
hours = 30
days = hours / 24.to_f # => 1.25
puts days.ceil
# => 1
# 切上げceil
hours = 30
days = hours / 24.to_f # => 1.25
puts days.ceil
# => 2
to_f で小数点以下を表示させてから、それぞれ切り捨て(切り上げ)を行っています。
円周率を出すメソッド
円周率を出すメソッドについて
円周率を出すのは Math::PI を使う事で円周率を表示させることができる。
Math::PI の例
puts Math::PI
# 3.141592653589793
コメント