|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.