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

Prolog Discussion :

Problème avec Assert


Sujet :

Prolog

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut Problème avec Assert
    Bonjour,

    J'ai un probléme avec le prédicat assert.
    Il m'insere bien les prédicats que je veux, seulement il ne les mets pas dans mon fichier .pl mais les garde en memoire.

    Donc quand je redemare swi-prolog il ne les a plus. Comment faire pour y remedier ? Est ce possible ?

    @+ Seb

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 96
    Points
    96
    Par défaut
    Il faut ouvrir un flux vers ton fichier texte, et tu l'ouvres en mode append pour ecrire à la fin du fichier, puis tu fais un write(TonFait) et tu fermes le flux.
    Et il faut également faire le assert pour le mettre en mémoire.

  3. #3
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    J'ai le meme problème et je n'arrive pas à le résoudre...

    j'ai mis au début de mon fichier :- dynamic(aime/3).

    puis je fais asserta(aime(E,I,N)),

    mais ça ne s'ajoute pas dans mon fichier....

    je voudrais que aime(E,I,N) s'ajoute dans mon fichier test.pl (c'est le fichier qui contient mes faits et mes regles)

    Merci d'ance pour votre aide...

  4. #4
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    Personne n'a de solutions ???

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par cflo91
    Personne n'a de solutions ???
    En gros, tu veux un programme Prolog qui génère le code d'un autre programme Prolog. C'est un peu bizare, mais bon. Si c'est vraiment ce que tu veux faire, il va falloir le fair à la main.

    Dans la doc SWI, il y a une section "Examinig the program". Elle documente les prédicats permettant de faire de l'introspection (connaitre les prédicats, leur clause, touça...). Enjoy !
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  6. #6
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par pcaboche
    En gros, tu veux un programme Prolog qui génère le code d'un autre programme Prolog. C'est un peu bizare, mais bon. Si c'est vraiment ce que tu veux faire, il va falloir le fair à la main.

    Dans la doc SWI, il y a une section "Examinig the program". Elle documente les prédicats permettant de faire de l'introspection (connaitre les prédicats, leur clause, touça...). Enjoy !
    Non, ce n'est ce que je veux.

    J'ai le meme problème que seb981, assert insere bien les prédicats que je veux, seulement il ne les mets pas dans mon fichier .pl mais les garde en memoire.
    Je voudrais qu'il les ajoute dans mon fichier .pl

    Comment faire ? ouvrir un flux ? comment ?


    Merci

  7. #7
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par cflo91
    assert insere bien les prédicats que je veux, seulement il ne les mets pas dans mon fichier .pl mais les garde en memoire.
    Ca, c'est un fonctionnement normal.

    Citation Envoyé par cflo91
    Je voudrais qu'il les ajoute dans mon fichier .pl
    Un programme qui change son code en plein milieu d'exécution, j'appelle ça un virus polymophe.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  8. #8
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    ah, parceque j'ai un projet à faire et on me demande d'ajouter un fait dans ma base......

    alors je ne sais pas comment faire ?

  9. #9
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par pcaboche
    Un programme qui change son code en plein milieu d'exécution, j'appelle ça un virus polymophe.
    Je ne vois pas ce qu'il y a d'extraordinaire d'ajouter des faits dans une base et de les sauvegarder les bases de faits et les règles peuvent se modifier au cours d'un apprentissage par exemple.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  10. #10
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par Trap D
    Je ne vois pas ce qu'il y a d'extraordinaire d'ajouter des faits dans une base et de les sauvegarder les bases de faits et les règles peuvent se modifier au cours d'un apprentissage par exemple.
    Oui, mais modifier directement le code source de départ, je trouve ça un peu dangereux ("Oups, il a effacé mon fichier... ").
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  11. #11
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut

  12. #12
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par cflo91
    Quoi ? Ton fichier a été effacé ?
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  13. #13
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    non , mais je ne sais toujours pas comment faire pour ajouter un fait à mon fichier ...

  14. #14
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par cflo91
    non , mais je ne sais toujours pas comment faire pour ajouter un fait à mon fichier ...
    On a répondu à cette question dès le deuxième message:
    Citation Envoyé par vivoli12
    Il faut ouvrir un flux vers ton fichier texte, et tu l'ouvres en mode append pour ecrire à la fin du fichier, puis tu fais un write(TonFait) et tu fermes le flux.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  15. #15
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    oui mais je ne sais pas comment ouvrir un flux, je n'ai pas trouvé l'info...

  16. #16
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  17. #17
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    merci

Discussions similaires

  1. [RegEx] Problème avec assertion et sous masque
    Par tintin72 dans le forum Langage
    Réponses: 3
    Dernier message: 25/06/2012, 18h58
  2. problème d' "assertion" avec GTK+
    Par poutch dans le forum Langage
    Réponses: 5
    Dernier message: 02/05/2011, 21h42
  3. Problème avec assert
    Par Morrigan dans le forum Débuter
    Réponses: 4
    Dernier message: 13/12/2009, 10h57
  4. [Sictus Prolog] Problèmes avec ASSERT et OPERATORS
    Par barejo dans le forum Prolog
    Réponses: 0
    Dernier message: 18/06/2009, 11h42
  5. Problème avec assert
    Par Almeria dans le forum Langage
    Réponses: 2
    Dernier message: 31/12/2008, 17h25

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