如果Array.append没有部分应用的可变参数,则可以删除lambda

时间:2015-11-24 16:16:45

标签: arrays lambda f#

我有数组字符串。我需要压扁它们并使用:

Array.fold (fun acc el -> Array.append acc el) [||] arr2d

林特告诉我:

  

“如果Array.append没有部分应用的可变参数,那么   lambda可以删除“

这是什么意思?我怎样才能删除lambda?

1 个答案:

答案 0 :(得分:10)

该格式(fun x -> f x)中的任何lambda函数都可以表示为f。保持不变的条件。

在您的代码中,fun acc el -> Array.append acc el具有与Array.append相同的类型且与Array.fold Array.append [||] arr2d 相同的内容,因此您可以将其缩短为:

{{1}}