Tbpgr Blog

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

Ruby | Array | flatten

概要

自身を再帰的に平滑化した配列を生成

詳細

flatten は自身を再帰的に平滑化した配列を生成して返します。
lv が指定された場合、lv の深さまで再帰的に平滑化します。

サンプルコード

# encoding: utf-8
require "pp"

def println(ary)
  print "#{ary}\n"
end

ary1 = [1,2,3]
ary2 = [ary1,2,3]
ary3 = [ary1,ary2,2,3]

println ary3.flatten
println ary3.flatten 0
println ary3.flatten 1
println ary3.flatten 2

出力

[1, 2, 3, 1, 2, 3, 2, 3, 2, 3]
[[1, 2, 3], [[1, 2, 3], 2, 3], 2, 3]
[1, 2, 3, [1, 2, 3], 2, 3, 2, 3]
[1, 2, 3, 1, 2, 3, 2, 3, 2, 3]