解释F#中的符号

Fab*_*cio 8 f#

我正在学习F#,当我在Visual Studio中键入任何代码并在F#Interactive上运行它时,它会显示我的内容

val foo : x:'a -> 'a
Run Code Online (Sandbox Code Playgroud)

我想这意味着这foo是一个接收x类型参数的函数,并返回相同x类型的值.

但是,这是什么'意思呢?许多功能也在intellisense上显示这样的东西.

N_A*_*N_A 12

单引号mark(')表示该参数的类型是通用的.可以推断出,就像您给出的示例一样,或者可以明确应用它.

这里下隐含通用的结构以获取更多信息.


Duc*_*tro 10

'a 表示类型变量,换言之,尚未确定的类型(并且不必确定).

请注意,这与a'一个常规变量不同,后者的名称是两个字符:a'.与C#等其他语言相反,单引号是F#变量名中的允许字符,除了作为名称中的第一个字符以消除上述类型变量的歧义.

  • 这正是我在搜索“F# 中的单引号含义”时所寻找的。 (2认同)