F# - 什么是“it”关键字?

时间:2009-07-18 14:30:18

标签: f#

我是F#的新手,今天下午开始学习它。

我注意到的是,当通过fsi获取类型信息时,我得到以下信息:

val it : (char list -> string -> string list) = <fun:clo@0>

如果我理解正确,(char list - &gt; string - &gt; string list)意味着该函数接受一个char列表并返回一个带字符串并返回字符串列表的函数。

但是,我不明白“它”的用法。

感谢您的任何信息!

3 个答案:

答案 0 :(得分:24)

在F#交互式命令行中,“it”是绑定到最后一个计算表达式的标识符。例如:

> let a = 5;;

val a : int = 5

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

答案 1 :(得分:11)

这不是关键字。这是F# keyword list

val keyword上的信息:

  

val关键字用于声明类或结构类型中的字段而不初始化它。以这种方式声明的字段称为显式字段。

     

[静态] val [mutable] [access-modifier] field-name:type-name

所以它通常是字段名称。

在交互式控制台中,它是返回值(val)(名称无关紧要,只是将其称为“它”):

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

答案 2 :(得分:3)

“it”有时用作占位符参数名称(例如,匿名块的参数)。这是(没有双关语;-)只是一个常规AFAIK。