Difference setq et assoc
Résolu
yogis
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Goupil -
Goupil -
Bonjour,
Etant débutant en lisp, je suis confronté à un problème avec la fonction assoc.
Voici les 2 parties de code:
Ce code là marche sans problème (en même temps c'est celui de l'exemple sur la fonction assoc http://www.lispworks.com/documentation/HyperSpec/Body/f_assocc.htm#assoc)
Ce code là ne marche pas, je m'attendais à avoir cat.
Pouvez-vous me dire où se trouve mon erreur?
Existe-t-il une notion de case-sensitivity sur les mots-clés genre "CHAT" et non chat?
Quelle est la différence entre mes 2 déclarations de setq?
Merci d'avance pour votre aide.
Etant débutant en lisp, je suis confronté à un problème avec la fonction assoc.
Voici les 2 parties de code:
(setq values '((x . 100) (y . 200) (z . 50)))
(assoc 'y values)
Ce code là marche sans problème (en même temps c'est celui de l'exemple sur la fonction assoc http://www.lispworks.com/documentation/HyperSpec/Body/f_assocc.htm#assoc)
(setq FrAng '(((poisson) fish) ((chat) cat) ((chien) dog)))
(assoc 'chat FrAng)
Ce code là ne marche pas, je m'attendais à avoir cat.
Pouvez-vous me dire où se trouve mon erreur?
Existe-t-il une notion de case-sensitivity sur les mots-clés genre "CHAT" et non chat?
Quelle est la différence entre mes 2 déclarations de setq?
Merci d'avance pour votre aide.
A voir également:
- Difference setq et assoc
- Différence entre tcp et udp - Guide
- Difference million milliard - Accueil - Technologies
- Différence ddr3 et ddr3l ✓ - Forum Matériel & Système
- Difference entre mode avion et donnees mobiles - Guide
- Difference entre mo et mb ✓ - Forum Matériel & Système
1 réponse
Salut
Tu as une liste dans une liste.
La déclaration devrait être
(setq FrAng '((poisson fish) (chat cat) (chien dog)))
Ensuite, tu utilises le ' (quote) pour appeler ta valeur. Ce n'est pas nécessaire car un quote est là pour éviter d'évaluer l'argument qui suit.
Par exemple : (setq a "toto")
(setq b 'a) --> A
(setq b a) --> "toto"
@+
Tu as une liste dans une liste.
La déclaration devrait être
(setq FrAng '((poisson fish) (chat cat) (chien dog)))
Ensuite, tu utilises le ' (quote) pour appeler ta valeur. Ce n'est pas nécessaire car un quote est là pour éviter d'évaluer l'argument qui suit.
Par exemple : (setq a "toto")
(setq b 'a) --> A
(setq b a) --> "toto"
@+