对于Haskell而言,我相当新,并试图改进自己,就功能语言而言。我试图创建将采取若干行和列的函数,并且产生的2D阵列如下,例如:Haskell-创建2d数组
arrayMaker :: (Int, Int) -> [[Int]]
-- use replicate function somehow to create each row?
所得矩阵显示如下(5行,3列):
[[14, 15, 16],
[13, 12, 11],
[8, 9, 10],
[7, 6, 5],
[2, 3, 4]]
注意值从最后一行开始在2处。此外,数组应该在升序行和降序行之间交替。帮助将不胜感激
写一个函数'row',鉴于'i'产生的第i行。然后'map row [1..numRows]'。要做到这一点,当'i'是偶数时,你能写出一个简单的算术公式来表示'(i,j)'位置上的数字吗?当'我'是奇怪的? – chi 2014-11-14 18:00:22
请注意,haskell中的[Int]不是一个数组,而是一个列表。在实践中,您通常不想使用列表来表示矩阵。 – DanielM 2014-11-14 18:16:54