BiL_Get2Dim

Fonction Catégorie Version
BIL 05 BiL_Get2Dim Gestion des Listes 1.0 - Janvier 2007

Description

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

La fonction


    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.

Listp : Retourne T si *List1 est une liste, nil dans les autres cas.
Nth : Retourne l' élément numéro *Num_list de *ListG en commençant par le numéro 0 (zéro).