広告スペース(バナー)
💎Ruby レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 42 / 68
配列の平坦化(flatten)
このレッスンでは、配列のflattenメソッドを使い、入れ子になった配列を平らに展開する方法を学ぶことを目標にします。「Ruby flatten 使い方」で調べている方向けの内容です。
配列の中に入れ子になった配列があるとき、それを「平らな」1つの配列に展開することをflatten(平坦化)と呼びます。Rubyには.flattenというそのままの名前のメソッドがあります。
サンプルコードでは、[1, [2, 3], [4, [5, 6]]]という多重に入れ子になった配列に対して、.flattenを呼び出すだけで、すべての階層を平らにした配列を得ています。他の言語では自分で再帰関数を実装する必要がある処理を、たった1つのメソッドで実現できる点に注目してみましょう。
初心者がよくつまずくのが、平坦化する深さを制限したい場合の指定方法です。.flatten(1)のように引数を指定すると、1段階だけの平坦化に制限できます。デフォルトではすべての階層が平坦化される点も覚えておきましょう。
flat_mapという、mapとflattenを同時に行うさらに便利なメソッドも用意されています。入れ子構造のデータをまとめて1つのリストとして扱いたいときに役立つ、実務でも使われるテクニックです。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではRubyを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
入れ子になったデータを、1つのまとまったリストに整理できるようになります。
入れ子になったデータを、1つのまとまったリストに整理できるようになります。
広告スペース(バナー)
広告スペース(記事内)