将数组传递给Function

Joh*_*ely 2 .net f#

我正在尝试编写一个简单的F#函数,我可以将数组传入然后打印值,但我遇到了麻烦.这是我到目前为止:

let a = [| a; b; c; d |];;

let f arrayFunction (string[] array) = function
    for b=0 to array.Length
      Console.WriteLine(array.[]);;
Run Code Online (Sandbox Code Playgroud)

Jac*_* P. 5

用于定义参数的F#语法是从C#语法向后的; 在F#中,参数的名称首先出现,然后是类型(用冒号分隔两者).

您也不需要function此处的关键字,只需要正常let绑定 - function用于创建匿名模式匹配函数.但是,您需要dofor循环中的行尾添加一个.最后,to在F#for循环之后的值是包含的 - 所以你需要从数组长度中减去一个,否则你最终会引发IndexOutOfRangeException.

你的函数应该写成这样:

let a = [| a; b; c; d |];;

let f arrayFunction (array : string[]) =
    for b = 0 to array.Length - 1 do
        Console.WriteLine (array.[b]);;
Run Code Online (Sandbox Code Playgroud)