我刚刚开始编写f#(或其他任何东西),所以这个问题可能看起来很基本。我正在做一个带有库的proyect,我正在尝试使用库中的二维字符串数组。该数组的类型为string [] []。我需要访问每个基础,所以我想我会做类似以下的事情:
let humanos = interfaz.GetArregloHumanos()
Array2D.getbase1 humanos
interfaz.getArregloHumanos()是一个函数,它附带了应该返回string [] []类型数组的库 看起来好像人类没有被认为是汉阵,有人可以告诉我为什么吗?
答案 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
有关详细信息,请参阅: