bugfix> multidimensional-array > 投稿

@scrwtpは非常に便利な関数を提供します(toJagged):

let toJagged<'a> (arr: 'a[,]) : 'a [][] = 
    [| for x in 0 .. Array2D.length1 arr - 1 do
           yield [| for y in 0 .. Array2D.length2 arr - 1 -> arr.[x, y] |]
    |]

2D配列からギザギザの配列に変換します。同等の機能が利用可能ですか(toArray2D)ギザギザの配列から2D配列に変換するため(ギザギザの配列の各行が同じ要素数を持っていると仮定)?

回答 1 件
  • 組み込み関数 array2D があります  それはまさにこれを行います:

    array2D 
      [| [| 1; 2 |]
         [| 3; 4 |] |]
    
    

    ザ・ array2D  関数のタイプは seq<#seq<'T>> -> 'T[,] です  より一般的です-値のシーケンスを任意のシーケンスで2D配列に変換できますが、 シーケンスのシーケンス、これで十分です。ネストされた配列の長さが異なる場合、これはスローされることに注意してください。

あなたの答え