Ruby Enumerableのメソッド 配列の要素を操作して新しい配列を取得するなど


スポンサーリンク

ArrayやHashなどのオブジェクトの集まりを表現するクラスには、Enumerableがincludeされている。
そのため、Enumerableが持つメソッドを使うことができる。

Enumerableが持つ便利なメソッドを使ってみたので、サンプルを掲載する。

# encoding: utf-8

puts "繰り返しのたびにインクリメントされる値と一緒に繰り返す"
%w(hoge fuga boo).each_with_index do |name, index|
  puts "#{index}: #{name}"
end

puts "--------------"

puts "逆順に出力する"
(1..5).reverse_each do |val|
  puts val
end

puts "--------------"

puts "3つずつ区切って出力する"
(1..9).each_slice 3 do |val|
  puts val
  puts "★★★"
end

#延々に"hoge","fuga"と出力して無限ループする
#(["hoge","fuga"]).cycle do |val|
#  puts val
#end

puts "--------------"

puts "配列の要素を変換して、新しい配列を作る"
old_array = ["hoge","fuga","boo"]
new_array = old_array.map {|str| str.upcase}

new_array.each do |val|
  puts val
end

実行結果は以下のとおり。

繰り返しのたびにインクリメントされる値と一緒に繰り返す
0: hoge
1: fuga
2: boo
--------------
逆順に出力する
5
4
3
2
1
--------------
3つずつ区切って出力する
1
2
3
★★★
4
5
6
★★★
7
8
9
★★★
--------------
配列の要素を変換して、新しい配列を作る
HOGE
FUGA
BOO
[Finished in 0.8s]