繰り返し処理とは同じ処理を何度も繰り返す処理。繰り返し処理を行うメソッドはtimesメソッドとeachメソッドがある。
timesメソッドは指定した回数だけ同じ処理を繰り返してくれる。
処理の回数.times do
繰り返したい処理
end
で使用できる。例えば
3.times do
puts = “こんにちわ”
end
とすると
こんにちは
こんにちは
こんにちは
と出力される。
変数を|変数|で定義でき||で囲まれた変数をブロック変数という。ブロック変数はメソッド内でしか使用できず0から始まるブロック変数である。
3.times do |i|
puts “#{ i }回目”
end
と記述すると
1回目
2回目
3回目
と出力される。
eachメソッドとは配列やハッシュの要素の回数だけ繰り返し処理を行いたいときにtimesメソッドよりもシンプルに記述ができるもの。
配列またはハッシュ.each do |変数|
で使用できる。例えば配列の場合
animals = [“イヌ”,”サル”,キジ”]
animals.each do |member|
puts “member”
end
と記述すると
イヌ
サル
キジ
と出力される。ハッシュの場合は
student = {name :”Taro”,height : 170 ,gender :”men”}
student.each do | key,value |
puts “#{key} : #{value}”
end
と記述すると
name : Taro
height : 170
gender : men
と出力される。
配列とハッシュが組み合わさった場合
students = [
{ name :“Taro”,height :”170”},
{ name :”Rika”,height :”160”}
上記のコードからnameを出力したい場合
students.each do |student|
puts “#{student[:name]”
end
と記述すると
Taro
Rika
と出力される。