Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 C 中,最简单的方法是使用二维数组。哈斯克尔呢?列表列表似乎不是一个优雅的解决方案。你有什么建议?
Haskell 拥有大量的Arrays、Vectors和其他容器。
要在其中之一之间进行选择,您需要更详细地了解您的要求。
多维数组字面量可以使用列表语法来描述,但使用您认为最合适的任何底层数据类型。例如
x :: Array U DIM3 Int x = fromListUnboxed (Z :. (3::Int) :. (3::Int) :. (3::Int)) [1,2,3 ,4,5,6 ,7,8,9 ,10,11,12 ,13,14,15 ,16,17,18 ,19,20,21 ,22,23,24 ,25,26,27]
是一个 3 维数组(类型DIM3 Int)。具体语法可以用列表表示法(平面或嵌套)给出,编译器将负责对象构造。
DIM3 Int