ответ

5

Haskell имеет обширную коллекцию Arrays, Vectors и другие контейнеры.

Чтобы выбрать один из них, вы должны знать свои требования чуть подробнее.

4

Многомерные литералы массива могут быть описаны с использованием списка синтаксиса, но с учетом того, какой тип базовых данных вы считаете наиболее подходящим. Например.

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). Конкретный синтаксис может быть указан в виде списка (плоский или вложенный), а компилятор позаботится о построении объекта.

+0

спасибо за ваш ответ. Могу ли я спросить вас, что такое '.' (или': .'?) Оператор? – fstab

+0

@fstab Операторы, начинающиеся с ':', являются конструкторами данных. Вероятно, это то, что здесь создает размер массива. – Cubic

+0

так, что он строит список, но что такое точка? – fstab

Смежные вопросы