IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lisp Discussion :

question convertir une liste en code avec cons et quote


Sujet :

Lisp

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Points : 8
    Points
    8
    Par défaut question convertir une liste en code avec cons et quote
    Bonjour,
    je suis nouveau ici ,
    je débute en lisp ,
    alors ma question et comment convertir une liste en code avec cons et quote
    par exemple

    (a(b((not c)(d))(e)

    (cons.................................,
    merci de votre reponse

  2. #2
    Futur Membre du Club Avatar de Whistle
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    hello,
    deja, dans ton expression de depart, il n'y a pas autant de parentheses fermantes que d'ouvrantes!

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Bonjour,

    — « cons » produit une « construction », qui est en fait une paire d'éléments ;
    — Une liste est formée par une suite de « cons » imbriquées : dans chacune de ces paires, le terme de gauche est un des éléments de la liste et celui de droite, une autre paire qui contient le reste de la liste, récursivement. La liste touche à sa fin lorsque le terme de droite est NIL.

    Ainsi :

    Code lisp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    > (cons 1 (cons 2 (cons 3 (cons 4 (cons 5 nil)))))
    (1 2 3 4 5)
    >

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Bonjour,

    — « cons » produit une « construction », qui est en fait une paire d'éléments ;
    — Une liste est formée par une suite de « cons » imbriquées : dans chacune de ces paires, le terme de gauche est un des éléments de la liste et celui de droite, une autre paire qui contient le reste de la liste, récursivement. La liste touche à sa fin lorsque le terme de droite est NIL.

    Ainsi :

    Code lisp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    > (cons 1 (cons 2 (cons 3 (cons 4 (cons 5 nil)))))
    (1 2 3 4 5)
    >
    Bonsoir
    Oui je suis d'accord , mais quand il s'agit d'une liste avec des sous liste ,
    (a (b (c d) e)(f)) par exemple. il faut coder cette fonction avec (cons et quote .....

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Apparemment, c'est un exercice scolaire. Donc on ne te rendrait pas service si l'on te donnait la solution toute faite, qui reste ma foi fort simple. Est-ce que tu dois écrire une fonction qui transforme n'importe quel liste en son code LISP associé ou est-ce que tu dois juste écrire à la main le code qui donnerait « (A (B (C D) E) (F)) » ?

    Ta sous-liste est un élément de ta liste, au même titre qu'un atome.

    Il s'agira donc d'une construction « cons », puisque c'est une (sous-)liste, mais en tant qu'élément à gauche de la paire adéquate.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertir une liste en prédicat
    Par Myrkvid dans le forum Prolog
    Réponses: 2
    Dernier message: 10/11/2006, 09h26
  2. Réponses: 7
    Dernier message: 05/10/2006, 08h07
  3. Construire une liste de sélection avec 2 tables
    Par domdas dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/08/2006, 14h15
  4. Tri d'une liste d'attente avec priorité
    Par boutchz dans le forum Access
    Réponses: 8
    Dernier message: 02/03/2006, 18h42
  5. Comment initialiser une liste de composants avec une boucle ?
    Par EricSid dans le forum Composants VCL
    Réponses: 5
    Dernier message: 06/04/2005, 18h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo