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.