N° | Fonction | Catégorie | Version |
---|---|---|---|
BIL 20 | BiL_PosItem | Gestion des Listes | 1.0 - Janvier 2007 |
But | Retourne la position de la première occurrence d’un élément dans une liste. |
Prototype | (BiL_PosItem Cosinus_Angle) |
Argument | Liste - La liste à traiter - Liste - Item - Elément recherché - tout type - |
Retours | Le numéro d’ordre - Entier - |
Var. globales | Néant |
Description | Retourne la position de la première occurrence d’un élément dans une liste. |
Notes | Le comptage se fait à partir de zéro (comme nth) : 1er élément = numéro 0, 2ème élément = numéro 1, etc. |
Exemples | Commande: (BiL_PosItem '(1 2 3 4 5 6 7 8 9) 5) retourne 4 (BiL_PosItem '("a" "b" "c" "d" "e" "f" "g") "c") retourne 2 (BiL_PosItem '("a" "b" "c" "d" "e" "f" "g") "a") retourne 0 (BiL_PosItem '("a" "b" "c" "d" "e" "b" "g") "b") retourne 1 Il y a 2 occurrences de "b" mais seule la 1ère est indiquée. Commande: (BiL_PosItem (list "aa" "bb" "cc") "Z") retourne nil L’élément "Z" n’existe pas. Commande: (Bil_PosItem List3 "X") retourne nil List3 n’est pas une liste. |
1- (defun BiL_PosItem (*List1 *Item) 2- (if (member *Item *List1) 3- (- (length *List1) (length (member *Item *List1))) 4- ) 5- )
Ligne 2 : Si l’argument *Item est bien un élément de *List1, Ligne 3 : Retourne la soustraction entre : - le nombre total d’élément de la liste *List1 - le nombre d’éléments se trouvant dans *List1 à partir de *Item jusqu’à la fin. Dans tous les autres cas, retourne nil.