Rubyで1レベルのみをフラット化する方法


  1. flattenメソッドを使用する方法:

    array = [1, [2, 3], [4, [5, 6]]]
    result = array.flatten(1)
    puts result.inspect
    # 出力: [1, 2, 3, 4, [5, 6]]

    上記の例では、flatten(1)メソッドを使用して配列を1レベルのみフラット化しています。

  2. flat_mapメソッドを使用する方法:

    array = [1, [2, 3], [4, [5, 6]]]
    result = array.flat_map { |element| element }
    puts result.inspect
    # 出力: [1, 2, 3, 4, [5, 6]]

    flat_mapメソッドは、ブロック内の各要素をフラット化して結果を返します。

  3. reduceメソッドを使用する方法:

    array = [1, [2, 3], [4, [5, 6]]]
    result = array.reduce([]) { |acc, element| acc + element }
    puts result.inspect
    # 出力: [1, 2, 3, 4, [5, 6]]

    reduceメソッドを使用することで、ブロック内で要素を結合し、1レベルのみをフラット化することができます。

これらの方法を使用することで、Rubyで1レベルのみをフラット化することができます。必要に応じてコードを適用して、配列を適切にフラット化してください。