Function 什么时候应该使用val x=fn而不是fun x
我刚刚开始学习标准ML(以及一般的函数编程),我遇到了两种定义函数的不同方法Function 什么时候应该使用val x=fn而不是fun x,function,anonymous-function,sml,ml,Function,Anonymous Function,Sml,Ml,我刚刚开始学习标准ML(以及一般的函数编程),我遇到了两种定义函数的不同方法 val double = fn x => x*2: 及 如果我理解正确的话,第一个是给一个非对称函数赋值。在什么情况下我应该这样做而不是fun abc?这是一个风格问题。fun语法,因此可以用前者编写的任何东西也可以用后者编写 fn直接表示λ-抽象,这意味着它仅限于一个参数的函数(请参阅)fun是一种方便的速记方式,它允许您使用多参数函数,并用一点语法将名称绑定到函数上,因此,无论何时您想做这些事情,最好使用f
val double = fn x => x*2:
及
如果我理解正确的话,第一个是给一个非对称函数赋值。在什么情况下我应该这样做而不是
fun abc
?这是一个风格问题。fun
语法,因此可以用前者编写的任何东西也可以用后者编写
fn
直接表示λ-抽象,这意味着它仅限于一个参数的函数(请参阅)fun
是一种方便的速记方式,它允许您使用多参数函数,并用一点语法将名称绑定到函数上,因此,无论何时您想做这些事情,最好使用fun
。一般来说,我也赞成使用fun
,因为它更易于阅读
fun double x = x*2;