Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Javaプログラマーが学ぶRuby基礎/Rubyの繰り返し/その2

概要

Rubyの繰り返しについて〜その2。
今回はJavaには全くない概念。

範囲オブジェクト

first...last

始値から終了値までの連続したRange型のオブジェクトを作成する。

サンプルコード
months = 1..12
months.each{|month|print "#{month}月,"}
p months.class

alphabet = 'a'..'z'
alphabet.each{|word|print "#{word},"}
p alphabet.class

for str in '1-1-1'..'1-3-4'
	print "#{str}|"
end
出力
1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月,Range
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,Range
1-1-1|1-1-2|1-1-3|1-1-4|1-1-5|1-1-6|1-1-7|1-1-8|1-1-9|1-2-0|1-2-1|1-2-2|1-2-3|1-2-4|1-2-5|1-2-6|1-2-7|1-2-8|1-2-9|1-3-0|1-3-1|1-3-2|1-3-3|1-3-4|

eachメソッド

配列や範囲オブジェクトの各要素に対して処理を行うことが出来る。
for文を利用するのと等価。

オブジェクト.each {|変数名|処理}

オブジェクト.each do |変数名|処理 end
のどちらかで記述可能。

サンプルコード
(1..12).each {|month|
	print "#{month}月,"
}
p ""
month_array = [1,2,3,4,5,6,7,8,9,10,11,12]
month_array.each do |month|
	print "#{month}月,"
end
出力

※範囲オブジェクトのサンプルのmonthsの出力と同じ