1Fermer3
SallyLe 28/11/2009 à 23:01
Oui tu peux écrire ça mais je ne pense pas que ça fasse ce que tu veux (ton type va représenter seulement un couple de cases, deux cases quoi, pas une matrice).

bool array array est un type. En fait array est le type paramétrique des tableaux, c'est-à-dire que "t array" est le type d'un tableau dont les éléments ont le type t. "bool array" est donc le type d'un tableau dont les éléments sont des booléens, et "bool array array" est le type d'un tableau dont les éléments sont eux-mêmes des tableaux contenant des booléens.
Concrètement cela peut justement représenter une matrice : chaque ligne de la matrice est représentée par un tableau de booléens et a le type bool array, la matrice elle-même est un tableau de lignes et a le type bool array array.

Ici ce que cette ligne te dit est donc que la variable vertical est une matrice de booléens. Donc si tu écris par exemple vertical.(3).(2) ça va te renvoyer un booléen, celui situé en troisième ligne, deuxième colonne dans cette matrice (si la matrice est assez grande, sinon ça va provoquer une erreur).

Quant à ta matrice de cases, elle peut (par exemple) être définie de la même façon : type m = case array array.