身份功能.
参数:x类型:'T(输入值)
返回值:相同的值
F#核心库版本,支持:2.0,4.0,Portable
为什么有一个返回其输入的函数?
在ML系列语言中,人们倾向于选择模式匹配来if/else构建.在F#中,在模式匹配中使用防护装置if/else在很多情况下很容易替换.
例如,delete1可以在不使用if/else(参见delete2)的情况下重写一个简单的函数:
let rec delete1 (a, xs) =
match xs with
| [] -> []
| x::xs' -> if x = a then xs' else x::delete1(a, xs')
let rec delete2 (a, xs) =
match xs with
| [] -> []
| x::xs' when x = a -> xs'
| x::xs' -> x::delete2(a, xs')
Run Code Online (Sandbox Code Playgroud)
另一个例子是求解二次函数:
type Solution =
| NoRoot
| OneRoot of float
| TwoRoots of float * float
let …Run Code Online (Sandbox Code Playgroud)