我正在学习F#,当我在Visual Studio中键入任何代码并在F#Interactive上运行它时,它会显示我的内容
val foo : x:'a -> 'a
Run Code Online (Sandbox Code Playgroud)
我想这意味着这foo是一个接收x类型参数的函数,并返回相同x类型的值.
但是,这是什么'意思呢?许多功能也在intellisense上显示这样的东西.
Duc*_*tro 10
'a 表示类型变量,换言之,尚未确定的类型(并且不必确定).
请注意,这与a'一个常规变量不同,后者的名称是两个字符:a和'.与C#等其他语言相反,单引号是F#变量名中的允许字符,除了作为名称中的第一个字符以消除上述类型变量的歧义.