【发布时间】:2016-02-28 15:22:15
【问题描述】:
在下面的代码中,为什么会调用函数printStatement?
module Tests
let printStatement =
printfn "%s" "statement"
let functionCallingPrintStatement =
printStatement
let functionNotCallingPrintStatement =
printfn "%s" "This is a test"
如果我在主程序中调用functionNotCallingPrintStatement?
open Tests
[<EntryPoint>]
let main argv =
functionNotCallingPrintStatement
0
这是输出:
声明
这是一个测试
如果我将函数 functionNotCallingPrintStatement 更改为:
let functionNotCallingPrintStatement =
()
第一个语句被禁止。
【问题讨论】:
-
let printStatement是一个值而不是一个函数。let printStatement()是一个函数。见:What does this '()' notation mean?
标签: f#