我是F#的新手。我要做的是多次拨打test
打印Hello World
。在此示例中,我想要调用test
三次。当我运行代码时,它只打印到控制台一次。即使没有test
调用,它也会运行。我有以下代码:
open System
let test =
let mutable output = ""
output <- "Hello World"
printfn "%s" output
[<EntryPoint>]
let main argv =
test
test
test
ignore(Console.ReadKey())
0
答案 0 :(得分:2)
如果您希望test
成为一个函数,请按以下方式声明:
let test () =
......并且这样称呼它:
test ()
函数总是接收一个参数并返回一个值。如果您看到多个参数,则会将这些参数调整为一系列函数,每个函数都接收一个参数。这就是您看到int -> string -> string
等签名的原因。
如果您不需要参数,就像在这种情况下一样,您使用的单位由()
表示。
答案 1 :(得分:1)
browserifyOptions: { 'list': true }
因为它写的不是函数 - 它是test
类型的值。你必须添加括号:
unit
并以这种方式称呼它:
let test () =
let mutable output = ""
output <- "Hello World"
printfn "%s" output
答案 2 :(得分:0)
test
不是函数,它是变量,所以你不能调用它。您只能访问其值()
。访问值而不对其执行任何操作不会以任何方式影响程序的行为,这就是为什么在test
函数中编写main
无效。
如果您希望能够调用test
,则需要通过为其提供参数来使其成为函数。由于您似乎并不想要任何参数,因此可以使用unit
作为参数类型。这看起来像这样:
let test () =
let mutable output = ""
output <- "Hello World"
printfn "%s" output
相应的调用将如下所示:
test ()