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