|PROFILE|::PR-GROUP-LIST
Arguments: [[list]] group mode? [generic-function]
Articulation d'une liste <list> en segments de longueurs definis
par une deuxieme liste de nombres entiers <group>.
par une deuxieme liste de nombres entiers <group>.
<list> est une liste quelconque
<group> est une liste de nombres qui definissent des longueurs
<group> est une liste de nombres qui definissent des longueurs
de segments.
Par exemple soit la liste <list>
(a b c d e f g h i j k l m)
et la liste <group>
(4 2 1 3 3)
le resultat sera:
PW->(*1)
(a b c d e f g h i j k l m)
et la liste <group>
(4 2 1 3 3)
le resultat sera:
PW->(*1)
<mode?> est un menu deroulant qui defini le mode de fonctionnement de
ce module. Si <mode?> egal 'stop' la segmentation se fera lineairement, c'est-a-dire, meme si la liste <group> contient plus d'element ou si la somme de ses elements est superieure a la longueur de <list> la segmentation se fera jusqu'a la fin des elements de <list>. Exemple: soit <list> (a b c d e f g h i j k l m) et <group> (4 2 1 3 5) le resultat sera toujours: PW->((a b c d) (e f) (g) (h i j) (k l m)). Ou si <group> egal (4 2 1 3 5 2) le resultat sera toujours: PW->((a b c d) (e f) (g) (h i j) (k l m)).
Si <mode?> egal 'circ' la segmentation se fera circulairement. c'est-a-dire, que pour constituer les segments imposes par <group>, le module ajoutera des elements du debut de <list>. Exemple: soit <list> (a b c d e f g h i j k l m) et <group> (4 2 1 3 5 2) le resultat sera alors PW->((a b c d) (e f) (g) (h i j) (k l m a b) (c d)).
Si <mode?> egal 'scal' la segmentation se fera proportionnellement. L'articulation prendra en compte plutt les proportion entre les elements de <group> et constituera des segments avec tous les elements de <list>.Exemple soit la liste <list> de 12 elements (a b c d e f g h i j k l) et la liste <group> (5 3 4). Logiquement le resultat sera PW->((a b c d e) (f g h) (i j k l)). Mais si nous gardons la meme <list> et nous changeons <group> pour (10 3 8) le resultat sera toujours le meme: PW->((a b c d e) (f g h) (i j k l)).
NOTE: THIS FUNCTION HAS BEEN RENAMED PR-GROUP-LIST DUE TO A NAME CONFLICT WITH OM GROUP LIST.