无法访问我的2d数组f#

时间:2014-08-08 13:18:10

标签: arrays f#

我刚刚开始编写f#(或其他任何东西),所以这个问题可能看起来很基本。我正在做一个带有库的proyect,我正在尝试使用库中的二维字符串数组。该数组的类型为string [] []。我需要访问每个基础,所以我想我会做类似以下的事情:

    let humanos = interfaz.GetArregloHumanos()
    Array2D.getbase1 humanos 

interfaz.getArregloHumanos()是一个函数,它附带了应该返回string [] []类型数组的库 看起来好像人类没有被认为是汉阵,有人可以告诉我为什么吗?

1 个答案:

答案 0 :(得分:2)

类型为string[][]的数组数组与类型为string[,]的二维数组之间存在重要差异。 2D数组是一个矩形的2D数组,而数组数组只是一个包含string[]数组作为元素的数组(每个数组的长度可以不同)。

Array2D模块中的函数可以处理2D数组,而您的库似乎正在返回一个数组数组。

使用数组数组执行某些操作的简单示例如下所示:

let strs =
  [| [| "hi"; "there" |]
     [| "just one thing" |] |]

for nested in strs do
  printfn "---------"
  for s in nested do
    printfn " - %s" s

有关详细信息,请参阅: