9
在F#中,类型列表(e..g列表中的int)的类型注释是什么?用一个简单的功能,我可以做注解如下:针对列表的F#类型注释
让方(X:INT)= ...
我注释x作为一个int类型。但是如果我想为int列表做一个类型注释呢?例如,假设我有一个需要列表的最大函数 - 我将如何为它进行类型注释?
让利最大(编号:??)= ...
在F#中,类型列表(e..g列表中的int)的类型注释是什么?用一个简单的功能,我可以做注解如下:针对列表的F#类型注释
让方(X:INT)= ...
我注释x作为一个int类型。但是如果我想为int列表做一个类型注释呢?例如,假设我有一个需要列表的最大函数 - 我将如何为它进行类型注释?
让利最大(编号:??)= ...
有两种选择:
let max (numbers:int list) = ...
let max (numbers:list<int>) = ...
第一个版本使用从OCaml的继承(并经常用于原始F#的语法类型如列表)。第二个版本使用.NET语法(并且更常用于.NET类型或在F#中编写面向对象代码时)。但是,他们两人的意思完全相同。
在任何情况下,类型注释的形式始终为(<something> : <type>)
,其中<something>
是模式(如参数列表中)或表达式。这意味着int list
和list<int>
只是类型的名称。 F#交互式打印,如果你输入一些值的类型,所以你可以用它来了解更多关于如何类型的名记:
> [1;2;3]
val it : int list = [ 1; 2; 3 ]
太感谢你了,太感谢你写的书(与约翰飞碟双向);我已经开启/关闭了几个月。 – t3rse 2011-01-12 04:31:30