parameter-list 通常包含名称和参数类型(可选)。 更一般地说,parameter-list 可以由任何 F# 模式组成。 有关可能模式的完整列表,请参阅
模式匹配
。 有效参数的列表包括以下示例。
// Lambda expressions with parameter lists.
fun a b c -> ...
fun (a: int) b c -> ...
fun (a : int) (b : string) (c:float) -> ...
// A lambda expression with a tuple pattern.
fun (a, b) -> …
// A lambda expression with a cons pattern.
// (note that this will generate an incomplete pattern match warning)
fun (head :: tail) -> …
// A lambda expression with a list pattern.
// (note that this will generate an incomplete pattern match warning)
fun [_; rest] -> …
表达式是函数的主体,是生成返回值的最后一个表达式。 有效 lambda 表达式的示例包括以下这些:
fun x -> x + 1
fun a b c -> printfn "%A %A %A" a b c
fun (a: int) (b: int) (c: int) -> a + b * c
fun x y -> let swap (a, b) = (b, a) in swap (x, y)
使用 Lambda 表达式
要对列表或其他集合执行操作,并且要避免定义函数的额外工作时,Lambda 表达式特别有用。 许多 F# 库函数将函数值作为参数使用,在这种情况下,使用 lambda 表达式可能会特别方便。 下面的代码将 lambda 表达式应用于列表的元素。 在此例中,匿名函数向列表中的每个元素加 1。
let list = List.map (fun i -> i + 1) [ 1; 2; 3 ]
printfn "%A" list
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:https://aka.ms/ContentUserFeedback。
提交和查看相关反馈