##flattenメソッド
flattenという英単語は、均す(ならす)という意味です。
flattenメソッドとは、多次元配列を1次元配列に変えるメソッドなんです。
実際にコードを見ていきましょう
arr = [1, 2, 3, [6,8], 9]
arr.flatten
=> [1, 2, 3, 6, 8, 9]
上記の例をみると、多次元配列が、1次元配列になっています。
このメソッドは配列だけでなく、ハッシュでも使われます。ハッシュで使われると、1次元配列にしてくれます。
実際にコードを見ていきましょう
hash = { 'hoge': 100, 'fuga': 200 }
hash.flatten
=> [:hoge, 100, :fuga, 200]
このようにハッシュでも1次元配列にしてくれるメソッドなんですね。
多次元配列じゃない配列に破壊的メソッドであるflatten!を適用すると、nilが返ってくるんです。
['hoge','fuga','hogehoge','fugafuga'].flatten!
=> nil