【问题标题】:F# - Convert Jagged Array to Array2DF# - 将锯齿状数组转换为 Array2D
【发布时间】:2018-11-05 00:23:49
【问题描述】:

@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] |]
    |]

从二维数组转换为锯齿状数组。是否有可用的等效函数 (toArray2D) 用于从锯齿状数组转换为二维数组(假设锯齿状数组中的每一行具有相同数量的元素)?

【问题讨论】:

    标签: multidimensional-array f# jagged-arrays


    【解决方案1】:

    有一个内置函数array2D 正是这样做的:

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

    array2D 函数具有 seq&lt;#seq&lt;'T&gt;&gt; -&gt; 'T[,] 类型,因此它更通用 - 它可以将任何值序列序列转换为二维数组,但是由于锯齿状数组序列,这就是你所需要的。请注意,如果嵌套数组的长度不同,则会引发此错误。

    【讨论】:

      猜你喜欢
      • 2013-06-21
      • 1970-01-01
      • 2013-09-17
      • 2018-07-26
      • 1970-01-01
      • 2020-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多