2009-07-18 79 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。