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 :

Affichage de l'évaluation d'un prédicat avec write ou autre


Sujet :

Prolog

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut Affichage de l'évaluation d'un prédicat avec write ou autre
    Bonjour à tous,

    Je souhaite utiliser les capacités de Prolog à traiter des règles depuis des scripts externes via des appels en ligne de commande. J’ai donc commencé par un test simple avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         test :- write(‘on est dans prolog\n’).
    et en l’appelant en ligne de commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         swipl –f mon_fichier_prolog.pl –t test,halt
    le résultat est bien celui attendu, prolog affiche on est dans prolog, puis rend la main.

    J’ai donc modifié le fichier source prolog comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
         test1:- has_right(6,create_user).
         test2 - has_right(5,create_user).
     
         has_right(UserId,Action) :- group(X,UserId), right_on_action(X,Xction).
     
         group(admin,5).
         group(user,6).
     
         Right_on_action(admin,create_user).
    …et lancé le prolog à la main, en appelant successivement test1 et test2. Les réponses retournées sont conformes aux règles.
    Des appels via la ligne de commande en fournissant test1 ou test2 comme « goal » ne retournent aucun résultat, ce qui est normal : il n’y a pas d’affichage prévu.

    En utilisant les prédicats write, format (‘@’... je n’arrive pas à afficher les resultats de l’évaluation de mes règles test1 et test2.

    Je suis prenneur de toute suggestion.

    D’avance merci

  2. #2
    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
    Je ne sais pas si j'ai bien tout compris mais peut-être quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    test1:- 
      (has_right(6,create_user) -> write(ok6); write(ko6)),
      nl.
    test2 - 
      (has_right(5,create_user) -> write(ok5); write(ko5),
      nl.
    "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

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    C'est exactement ça, merci beaucoup

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/03/2008, 18h17
  2. Réponses: 8
    Dernier message: 23/07/2007, 19h44
  3. Probleme d'affichage du curseur dans un chp texte avec firef
    Par dadovb dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/10/2005, 12h31
  4. Affichage de l'adresse d'une chaine avec cout
    Par thierryguilbert dans le forum SL & STL
    Réponses: 4
    Dernier message: 14/03/2005, 16h04
  5. Affichage d'une boite de dialogue nonmodale avec MFC
    Par the.cable.guy dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 17h59

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