可能是一个新手问题,但有一个标准功能,如
let apply f = f()
在F#中?
答案 0 :(得分:5)
不,这没有标准功能。
在大多数情况下,只是调用函数比使用apply
更短,更明显,所以我不完全确定这将如何有用:
foo ()
apply foo
现在,您也可以使用|>
编写应用程序,但这也不是很好:
() |> foo
我想apply
唯一有用的地方是:
functions |> List.map apply
functions |> List.map (fun f -> f ())
此处,没有apply
的版本较短,但我不认为只为这个用例在库中使用命名函数是值得的。
你实际上可以在这里使用|>
来避免fun
,这是一个可爱的ASCII艺术作品:-),但不是我希望在我的代码库中看到的东西:< / p>
functions |> List.map ((|>) ())