这是我的代码,有很多错误,我无法看到。 问题是什么?或者"是什么"问题??我在几行中得到了这些错误:
在'NBaum'的第六个参数中,即
data NBaum a = NBlatt a | NKnoten a [NBaum a]
deriving(Eq,Show)
tree :: NBaum String
tree =
NBaum "Sonne"
(NKnoten "Erde"
(NBlatt "MOND" )
)
(NBlatt "Merkur" )
(NBlatt "Venus" )
(NKnoten "MARS"
(NBlatt "PHOBOS" )
(NBlatt "DEIMOS" )
)
(NKnoten "JUPITER"
(NBlatt "Io" )
(NBlatt "EUROPA" )
(NBlatt "GANYMED" )
(NBlatt "KALLISTO" )
)
答案 0 :(得分:4)
问题在于,如果您描述列表[]
,则可以在方括号之间用逗号分隔 ,例如[1,4,2,5]
。 不在圆括号之间:这是一个元组。
tree :: NBaum String
tree = NKnoten "Sonne" [
NKnoten "Erde" [NBlatt "MOND"],
NBlatt "Merkur",
NBlatt "Venus",
NKnoten "MARS" [
NBlatt "PHOBOS",
NBlatt "DEIMOS"
],
NKnoten "JUPITER" [
NBlatt "Io",
NBlatt "EUROPA",
NBlatt "GANYMED",
NBlatt "KALLISTO"
]
]
此外 - 正如代码片段中突出显示的那样 - 您(可能是意外) - 在第一个对象({{1)处写入了类型名称(NBaum
)而不是构造函数名称(NKnoten
) }})。