【发布时间】:2016-09-27 07:06:11
【问题描述】:
我正在学习 F#,但我无法弄清楚 let、fun 和 function 之间的区别,而且我的教科书也没有真正解释这一点。举个例子:
let s sym = function
| V x -> Map.containsKey x sym
| A(f, es) -> Map.containsKey f sym && List.forall (s sym) es;;
如果没有function 关键字,我不能写这个吗?或者我可以用fun而不是function来写吗?当我看到你写的一些例子时,为什么我必须写let
fun s x =
...
到底有什么区别?
【问题讨论】:
-
如果您还告诉我们
V和A是什么,向您展示替代品会更容易一些。 -
“函数”是一种“匹配”,它在管道表达式中出现。例如x |> 功能 |案例1 -> ... | case2 -> ...这是一个不错的风格。
标签: function f# functional-programming