【发布时间】:2021-08-06 03:10:44
【问题描述】:
您好,如何在 Haskell 用户列表中生成这样的问题:
list = [("Frank",24,[wall, door],1),("Ann",45,[window],0),
("Claudia",44,[window, bed],2), ("Pedro"77,[wall],1)]
我试过这种方法,但它不起作用:
type Home = (Homename)
type Homename = String
type Person = (Name, Age, [Home], Num)
type Name = String
type Age = Integer
type Num = Integer
list :: [Person]
list = [("Frank",24,[wall, door],1),("Ann",45,[window],0),
("Claudia",44,[window, bed],2), ("Pedro",77,[wall],1)]
error: 表达式中的语法错误(意外的 `;',可能是由于布局错误)
【问题讨论】:
-
您发布的代码中没有
;。你确定这是产生该错误的代码吗? -
是的,代码不知道他为什么说“;”
-
无法复制。请发帖minimal reproducible example。
-
尽量让问题更清楚,因为它不是很具有描述性
-
如果您使用的是古老的 Haskell 编译器,则可能会出现
;错误(请告诉我,您没有从 1998 年开始运行“Hugs”:-))因为以("Claudia",44.....开头的行应该比上一行缩进更多。由于它与上一行一样缩进,因此它实际上开始了一个新定义,“好像;分隔符在这些行之间”。现代 GHC 没有提及隐含的;,因为这很令人困惑。