3
我在f#中使用Array2D模块,并且想要使用它创建一个数独游戏板(9x9阵列)。现在我有一些作品和看起来像这样:F#2D阵列替代创建
let createInitialArray = [| [|for x in 1 .. 9 -> createSquare x 1 |];
[|for x in 1 .. 9 -> createSquare x 2 |];
[|for x in 1 .. 9 -> createSquare x 3 |];
[|for x in 1 .. 9 -> createSquare x 4 |];
[|for x in 1 .. 9 -> createSquare x 5 |];
[|for x in 1 .. 9 -> createSquare x 6 |];
[|for x in 1 .. 9 -> createSquare x 7 |];
[|for x in 1 .. 9 -> createSquare x 8 |];
[|for x in 1 .. 9 -> createSquare x 9 |] |]
let sudokuGame = Array2D.init 9 9 (fun i j -> createInitialArray.[j].[i])
我的问题是,如果有更好的或者更紧凑的方式来写这个?
MSDN about arrays in general and MSDN about Array2D我知道还有其他一些函数,例如init,initBased,create和createBased。由于我还只有几个星期的时间学习这门语言,所以我没有看到我可以如何与他们合作。
啊,它看起来真的很不错!我现在正在公车上,但很快就会试用。谢谢! –
刚试过它,它完美的作品,谢谢! –