Cette forme syntaxique est peut être l'une des plus délicates à expliquer, mais aussi probablement l'une des plus puissante du DIML.
Les syntaxes précédentes supposent en général une forme matricielle strictement "carrée" ou "cubique" etc. Mais comment effectuer simplement une mise en forme de type liste de liste ? Le problème particulier de cette forme est que la dimension de chaque "ligne" est différente. Une exploration automatique basée sur une structure "parallépipédique" n'est pas optimale.
La structure de cet appel dissocie la forme matricielle en :
- Une matrice de dimension N-1 dont la structure est "parallépipédique"
- Chaque cellule (ou élément) du parallépipède contenant un vecteur de taille variable.
Dans une telle situation, cet appel effectue l'extraction itérative de tous les éléments du vecteur de dimension basse, comme un l'appel d'exploration de liste précédent. Cela suppose donc qu'une valeur de dimensionnement existe pour chaque cellule du parallépipède (voir la forme matricielle complètement définie).
|