我正在尝试编写一个简单的 F# 函数,我可以将一个数组传递给它,然后打印值,但我遇到了问题。这是我目前所拥有的:
let a = [| a; b; c; d |];;
let f arrayFunction (string[] array) = function
for b=0 to array.Length
Console.WriteLine(array.[]);;
最佳答案
用于定义参数的 F# 语法是 C# 语法的倒退;在 F# 中,参数的名称在前,然后是类型(用冒号分隔两者)。
这里也不需要 function
关键字,只需要普通的 let
绑定(bind)——function
用于创建匿名模式匹配功能。但是,您确实需要在 for
循环的行尾添加一个 do
。最后,F# for
循环中 to
之后的值是包容性的——因此您需要从数组长度中减去一个,否则您将最终引发 IndexOutOfRangeException。
你的函数应该这样写:
let a = [| a; b; c; d |];;
let f arrayFunction (array : string[]) =
for b = 0 to array.Length - 1 do
Console.WriteLine (array.[b]);;
关于.net - 将数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16264942/