我在理解F#中括号的用法时遇到了问题.举一个简单的例子说明,以下2个控制台应用程序的行为有很大不同.第一个不等我输入任何东西:
open System
let Main =
Console.WriteLine "Hello"
Console.ReadLine
Run Code Online (Sandbox Code Playgroud)
而第二个做的是:
open System
let Main =
Console.WriteLine "Hello"
Console.ReadLine()
Run Code Online (Sandbox Code Playgroud)
我该如何理解其中的区别?
man*_*lds 10
如果函数不带参数,则将单位值()指定为参数,如下面的代码行所示.
initializeApp()
Run Code Online (Sandbox Code Playgroud)
函数名称本身只是一个函数值,因此如果省略表示单位值的括号,则仅引用该函数,而不调用该函数.
http://msdn.microsoft.com/en-us/library/dd233229.aspx
这就是为什么你必须做Console.ReadLine()而不是Console.ReadLine(后者返回一个函数委托)
| 归档时间: |
|
| 查看次数: |
616 次 |
| 最近记录: |