我正在学习如何在Haskell中创建代数类型。Haskell错误代数类型
我刚开始,希望两个参数可以用数学方法求解。
这里是我的代码:
data calculate = firstargument Int | sndargument Int
doit :: calculate-> Int
doit (calculate firstargument sndargument) = firstargument + sndargument
我得到一个错误 “不是一个数据构造firsrargument”
有什么不对?
EDITED NEW CODE:
这是我改变的代码:
data Calculate = Firstargument Int | Sndargument Int
f :: Calculate
f = Firstargument 1
s:: Calculate
s = Sndargument 2
addCalc :: Calculate -> Calculate -> Int
addCalc (Firstargument x) (Firstargument y) = x+y
-- not the complete pattern matching , but should be enough for testing purposes.
可能我建议您阅读“了解你哈斯克尔“? –