| N° | Fonction | Catégorie | Version |
|---|---|---|---|
| BIL 05 | BiL_Get2Dim | Gestion des Listes | 1.0 - Janvier 2007 |
| But | Retourne un élément d'une liste à 2 niveaux. |
| Prototype | (BiL_Get2Dim Numéro_Atome Numéro_Liste Liste_globale) |
| Argument | Numéro_Atome - Numero d'atome dans la liste - entier - Numéro_Liste - Numero de sous-liste - entier - Liste_globale - La liste à traiter - Liste - |
| Retours | La valeur associée ou nil |
| Var. globales | Néant |
| Description | Retourne un élément d'une liste à 2 niveaux. - manière de traiter les tableaux à 2 dimensions en lisp. |
| Notes | Attention : Le comptage des numéros d'ordre commence à zéro. Voir également les fonctions BiB_Get, BiB_GetSel, BiB_GetType, BiB_EntGet. |
| Exemples |
(setq L1 (list 1 2 3 4 5)) (1 2 3 4 5)
(setq L2 (list "B1" "B2" "B3" "B4")) ("B1" "B2" "B3" "B4")
(setq L3 (list 31 32 33 34)) (31 32 33 34)
(setq ListG (list L1 L2 L3))
((1 2 3 4 5) ("B1" "B2" "B3" "B4") (31 32 33 34))
(BiL_Get2Dim 0 0 ListG) retourne 1
(BiL_Get2Dim 1 2 ListG) retourne 32
(BiL_Get2Dim 3 1 ListG) retourne "B4"
(BiL_Get2Dim 4 1 ListG) retourne nil
(BiL_Get2Dim 3 3 ListG) retourne nil
|
1- (Defun BiL_Get2Dim (*Num_Atome *Num_list *ListG / VarTemp)
2- (if (and *ListG (Listp *ListG))
3- (if (and
4- (setq VarTemp (nth *Num_list *ListG))
5- (listp VarTemp)
6- )
7- (nth *Num_Atome VarTemp)
8- )
9- )
10- )
Ligne 2 : vérifie si *ListG est une liste et qu'elle n'est pas nulle
Ligne 4 : si on peut donner à VarTemp la valeur de l'élément numéro *Num_list de *ListG
Ligne 5 : et que cet élément soit une liste,
Ligne 7 : alors retourne la valeur de l'atome numéro *Num_Atome de la sous-liste VarTemp
S'il est possible d'assigner à VarTemp la valeur de l'élément numéro *Num_list
de *ListG et que cet élément soit une liste, alors retourne l'élément numéro
*Num_Atome de la sous-liste Vartemp et nil dans tous les autres cas.