List Haskell:生成并填写列表列表

List Haskell:生成并填写列表列表,list,haskell,List,Haskell,我必须用Haskell制作一个游戏板,输入2个整数,指示板的高度和宽度。电路板的格式必须为[[Int]],所有空格必须用整数1填充 例如,makeBoard 2 3,应该返回->[[1,1,1],[1,1,1]]您可以使用嵌套的: replicate因此获取一个Int和一个元素a,并生成一个包含该元素n倍的列表[a]。因此,第二个replicate将返回一个列表,第一个复制将复制该列表h次 请注意,replicate nx实际上相当于: -- equivalent replicate n x =

我必须用Haskell制作一个游戏板,输入2个整数,指示板的高度和宽度。电路板的格式必须为
[[Int]]
,所有空格必须用整数
1
填充

例如,
makeBoard 2 3
,应该返回->
[[1,1,1],[1,1,1]]
您可以使用嵌套的:

replicate
因此获取一个
Int
和一个元素
a
,并生成一个包含该元素n倍的列表
[a]
。因此,第二个
replicate
将返回一个列表,第一个复制将复制该列表
h

请注意,
replicate nx
实际上相当于:

-- equivalent
replicate n x = take n $ repeat x
或更短:

replicate n = take n . repeat

您还可以考虑将一个板作为<代码>映射(int,int)int < /代码>;这将允许您只存储非平凡(“非空”、“非墙”)单元格,并且已经为您编写了更新单元格值的代码。到目前为止,我已成功生成一个具有正确整数量的数组,但是对于如何在内部生成已填充的列表却一无所知lists@DaoDib:那么,为什么不先展示一下这个尝试呢?9000,听起来是个不错的方法,但是任务需要特定的格式[[Int]]@DaoDib:获取生成一个填充了
1
s的列表的代码,并尝试将其转换为生成一个填充了任意给定值的列表的代码。您将能够重用该函数,既可以用int填充列表,也可以用其他列表填充列表。
replicate n = take n . repeat