List 如何在haskell中生成具有自己数据类型的列表
我试图用haskell中自己的数据类型创建一个无限列表List 如何在haskell中生成具有自己数据类型的列表,list,function,haskell,recursion,List,Function,Haskell,Recursion,我试图用haskell中自己的数据类型创建一个无限列表 data Color = Black | White deriving (Show, Eq) data Cell = Empty | Stone Color deriving (Show, Eq) makeRow :: Int -> Row makeRow 0 = [] makeRow n = take n (repeat Cell Empty) 这给了我一个错误: Data constructor not in s
data Color = Black | White deriving (Show, Eq)
data Cell = Empty | Stone Color deriving (Show, Eq)
makeRow :: Int -> Row
makeRow 0 = []
makeRow n = take n (repeat Cell Empty)
这给了我一个错误:
Data constructor not in scope: Cell
之所以出现此错误,是因为
单元格
实际上不是值构造函数。只需使用普通的Empty
(请注意,您不需要编写Bool-True
或Bool-False
——您只需编写True
或False
)。因此不是代码编写服务。你先尝试,向我们展示你的尝试,并解释为什么你认为自己无法取得进步。我们将帮助您采取下一步的任何步骤,然后您再次推动进度。关于构建列表的部分可能有助于进一步研究。@DanielWagner我已修改了代码并尝试。。。请你现在检查一下好吗?谢谢大家!@user3637052考虑到这个问题有多个接近票数,最好将这个改进的版本作为一个新问题来问。现在这是一个更好的问题,但请记住这一点。@AJFarmar我不同意。接近投票被认为是鼓励编辑,而有一个坏的,封闭的问题存在,而不是改进它,对任何人都没有任何好处。即使它真的关闭了,那也是重新开放的目的。