gpt4 book ai didi

Haskell 不在范围内 : Type constructor or class `PushInt'

转载 作者:行者123 更新时间:2023-12-04 23:00:48 25 4
gpt4 key购买 nike

我有自己的数据类型,说明:

data Commands = MoveLeft |
MoveRight |
MoveUp |
MoveDown |
IfVertical |
IfHorizontal |
InputChar |
InputInt |
OutputChar |
OutputInt |
OutputNewline |
PushInt Int |
Add |
Sub |
Mult |
Div |
Exp |
Pop |
Dup |
Switch |
Noop |
End
deriving (Show, Eq)

我有一个函数,我试图用它从 PushInt 中提取数字和:
extractNum :: PushInt -> Int
extractNum (PushInt n) = n

但是当我尝试运行它时,我收到一条错误消息:
Parser.hs:32:19:
Not in scope: type constructor or class `PushInt'
A data constructor of that name is in scope; did you mean -XDataKinds?

据我所知,我被允许使用这种方法从数据中提取一个字段。我很确定这只是一个非常简单的错误,但任何帮助表示赞赏。

最佳答案

哇,我对凌晨 2 点的错误是正确的。功能

extractNum :: PushInt -> Int
extractNum (PushInt n) = n

应该
extractNum :: Commands -> Int
extractNum (PushInt n) = n

关于Haskell 不在范围内 : Type constructor or class `PushInt' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25637673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com