我意识到有一种简单的方法可以通过使用range()来初始化一个整数数组,甚至可以通过例如[1..10]。
是否有一种简单的方法来初始化[Bool]
? (鉴于我事先知道了数组的大小)。 - 简单来说,我的意思是没有定义函数只是为了执行init ...
答案 0 :(得分:6)
答案取决于你想要初始化它的内容,如果它只是一个包含所有相同值的列表,那么你可以使用replicate
replicate 5 True -- [True,True,True,True,True]
答案 1 :(得分:6)
与Simon Gibbons提出的解决方案一样,对于固定大小的阵列,其中所有元素都是相同的
replicate 5 True -- [True,True,True,True,True]
您还可以使用列表推导来定义更复杂的列表,例如,获取可以执行的交替False
/ True
列表
[even x | x <- [1..6]] -- [False,True,False,True,False,True]