Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F#将布尔的多维数组传递给函数_F# - Fatal编程技术网

F#将布尔的多维数组传递给函数

F#将布尔的多维数组传递给函数,f#,F#,如何将布尔的多维数组传递给F#中的函数 谢谢 Maybettle根据您使用的是实际二维阵列(矩形阵列)还是锯齿阵列(其元素为阵列的阵列,长度可能不同),有两个选项: 如果您不确定使用哪一种,那么最好知道锯齿阵列更快,但使用矩形阵列可能更容易(因为您确定尺寸) 要调用这两个函数,可以使用以下语法: // Create array of arrays and call the function bar [| [| true |] |] // Creates array of arrays and

如何将布尔的多维数组传递给F#中的函数

谢谢
Maybettle

根据您使用的是实际二维阵列(矩形阵列)还是锯齿阵列(其元素为阵列的阵列,长度可能不同),有两个选项:

如果您不确定使用哪一种,那么最好知道锯齿阵列更快,但使用矩形阵列可能更容易(因为您确定尺寸)

要调用这两个函数,可以使用以下语法:

// Create array of arrays and call the function
bar [| [| true |] |]

// Creates array of arrays and converts it to multi-dimensional array
// You can also use plenty of functions from 'Array2D' module
foo (array2D [| [| true |] |])
如果您想编写更通用的函数,还可以使用序列序列。这将仅与锯齿状数组兼容,但您也可以将该函数用于例如F#列表列表或任何.NET集合类型

let woo (ar:seq<#seq<bool>>) = Seq.head (Seq.head ar)
let-woo(应收账款:顺序)=顺序账首(顺序账首)
#seq
类型意味着它可以是序列或任何其他派生类型。这对于元素类型是必需的,但对于外部类型不是必需的,因为F#会自动强制转换外部类型(而不是元素)

let woo (ar:seq<#seq<bool>>) = Seq.head (Seq.head ar)