你能告诉我在“where”子句中编写函数的正确方法吗?我很难说出这个问题,所以我宁愿举一个例子:
我可以像这样在 where 子句中使用提供给顶级函数的参数
complexMath num1 num2 = sum * sum
where sum = num1 + num2
或者我可以像这样在“where”子句中参数化函数
complexMath num1 num2 = (sum num1 num2) * (sum num1 num2)
where sum n1 n2 = n1 + n2
两种变体都有效,但应该有一定的正确方法,至少在语法上是这样。那是什么?也许这并不重要,我只是在傻......
谢谢。
编辑
我更改了函数示例以使其更清晰,因此 sum 函数被使用了两次。
而这个呢?
complexMath num1 = let num2 = 10 + 8 in sum num2 * sum num2
where sum n2 = num1 + n2
这是正确的写法吗?