F#中的“ T”和“ U”是什么意思?

mis*_*han 2 f#

例如http://msdn.microsoft.com/en-us/library/ee370378.aspx示例中的List.map : ('T -> 'U) -> 'T list -> 'U list

抱歉,这听起来很简单,但在Google搜索中没有找到任何解释。

谢谢!

Joh*_*mer 5

在这种情况下'T'U是任意类型。

在其他情况下,'t使用约束可能会受到限制。

有时,名称可能具有描述性,例如'key'value。在F#中,关键是'类型使它通用之前的a。

类似地,可以在类型前面加上a #,以允许可以向上转换为给定类型的任何类型。

使用内联方法的更复杂的类型约束可以与^类型名称之前的一起使用,以允许使用.Net类型系统无法实现的成员约束,并且仅适用于F#内联函数。

  • 您是说'T可以是任何泛型类型,'U可以是任何泛型类型,而我们只是使用'T和'U来表示任何两个可能不同的泛型类型? (2认同)