對於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