我试图了解什么是有用的,以及如何在Haskell中实际使用lambda表达式.我并不真正理解使用lambda表达式优于定义函数的常规方法的优点.例如,我通常会执行以下操作:
let add x y = x+y
Run Code Online (Sandbox Code Playgroud)
我可以简单地打电话
add 5 6
Run Code Online (Sandbox Code Playgroud)
得到11的结果我知道我也可以做以下事情:
let add = \x->(\y-> x+y)
Run Code Online (Sandbox Code Playgroud)
并得到相同的结果.但就像我之前提到的,我不明白使用lambda表达式的目的.另外,我在前奏中键入了以下代码(无名函数?),它给了我一个错误信息.
let \x -> (\y->x+y)
parse error (possibly incorrect indentation or mismatched backets)
Run Code Online (Sandbox Code Playgroud)
先感谢您!
我是Haskell的新手,我正在尝试学习类型类的工作原理.我在GHCi编译器中输入以下代码.
let (+) :: Num a => a -> a -> a;
(+) a b = a+b;
Run Code Online (Sandbox Code Playgroud)
代码编译,但每当我调用该函数时,它就会卡住,我必须按ctrl + c来停止进程.
我在这里做错了吗?先感谢您!