我对函数式编程还不太熟悉,所以如果我无法弄清楚如何做某件事,就会回到过程式风格。 我找到了一个解决方法,可以避免转换为列表,但我仍然想知道如何转换。
这是我将二维数组转换为列表的尝试。
let board = Array2.init 10 20 (fun i j -> pull(i, j))
let mutable pieces = []
board
|> Array2.mapi (fun i j a -> transform(i, j, a))
|> Array2.iter (fun a -> (pieces <- a :: pieces))