2009-07-18 69 views
18

我是F#的新手,今天下午纔開始學習它。F# - 什麼是「it」關鍵字?

我已經注意到的是,通過FSI越來越型信息的時候,我得到以下信息:

val it : (char list -> string -> string list) = <fun:[email protected]> 

如果我理解正確的(字符列表 - >字符串 - >字符串列表)手段該函數接受一個char列表並返回一個函數,該函數接受一個字符串並返回一個字符串列表。

但是,我不明白「它」的用法。

感謝您的任何信息!

回答

24

在F#交互命令行中,「it」是綁定到最後一個表達式的標識符。例如:

> let a = 5;; 

val a : int = 5 

> a;; 
val it : int = 5 
> it;; 
val it : int = 5 
> 
11

這不是關鍵字。這是F# keyword list

信息上val keyword

瓦爾關鍵字用於聲明在一個類或結構類型的字段,而不對其進行初始化。以這種方式聲明的字段被稱爲顯式字段。

[靜態] VAL [可變] [訪問改性劑]字段名:類型名稱

所以它通常是字段名稱。

在交互式控制檯它的返回值(VAL)(名字是無關緊要的,他們只是把它稱爲「它」):

> System.Console.ReadLine();; 
Test 
val it : string = "Test" 
> it;; 
val it : string = "Test" 
3

「它」有時被用作一個佔位符參數名稱(例如,匿名塊的參數)。這是(沒有雙關語意圖;-)只是一個傳統的AFAIK。