F#:为什么这些括号是必要的(语法)

Tah*_*san 2 f#

为了我自己的安心,我想知道为什么,在最后一行,在我的AssemblyInfo.fs文件中,有必要添加一个()以便编译它.你怎么称呼这种语法?

namespace TestComComponentFSharp

open System.Reflection
open System.Runtime.CompilerServices
open System.Runtime.InteropServices

[<assembly: AssemblyTitle("TestComComponentFSharp")>]
[<assembly: ComVisible(true)>]
[<assembly: Guid("0B684F15-DC37-40C0-A785-EDF1A63BBAF5")>]
[<assembly: AssemblyKeyFile("KeyFile.snk")>]

[<assembly: AssemblyVersion("1.0.0.0")>]
[<assembly: AssemblyFileVersion("1.0.0.0")>]

()
Run Code Online (Sandbox Code Playgroud)

Kev*_*vin 5

您需要一些东西来应用这些组件属性.那是空()还是做()是为了什么.它被称为"空表达" - 它返回一个单位.

  • 不,()或"空表达式"仍然返回一个单位.F#总是必须返回一些东西."A"单元用于保存语言语法所需的值的位置,但是当不需要或不需要值时." 取自https://msdn.microsoft.com/en-us/library/dd483472.aspx (2认同)