Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1946 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [Swi-Prolog] Retourner un numero d'erreur si le résultat est false

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Swi-Prolog] Retourner un numero d'erreur si le résultat est false

n°2484313
lady287
La lumière fuse
Posté le 12-11-2024 à 15:50:39  profilanswer
 

Bonjour,
 
Je voudrais retourner un numero d'erreur de swi-prolog en cas de résultat false.
 
S'il vous plait ! Si c'est possible.


Message édité par lady287 le 12-11-2024 à 15:51:35
mood
Publicité
Posté le 12-11-2024 à 15:50:39  profilanswer
 

n°2484314
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-11-2024 à 15:59:51  profilanswer
 

En SWI-Prolog, il n'existe pas de notion native de "code d'erreur" comme dans d'autres langages, car Prolog se base sur une logique de succès/échec pour les prédicats. Cependant, il est possible de structurer un prédicat pour renvoyer un code d'erreur en cas de résultat false.
 
Voici une approche pour capturer l'échec d'un prédicat et renvoyer un code d'erreur spécifique :
 
    Définir des règles avec codes d'erreurs : Utilisez des clauses qui, en cas de réussite, retournent le résultat, et en cas d'échec, retournent un code d'erreur spécifique.
    Utiliser if-then-else avec ; pour vérifier le succès ou l’échec.
 
Voici un exemple simple :
 

Code :
  1. % Exemple de prédicat qui échoue si la condition n'est pas satisfaite
  2. mon_predicat(X, Y, Result) :-
  3.    ( X > 0, Y > 0 ->  
  4.        Result = success  
  5.    ;  
  6.        Result = erreur_code_123
  7.    ).
  8. % Exemple d'appel
  9. ?- mon_predicat(2, -1, Result).
  10. % Result = erreur_code_123.


 
Dans cet exemple, si les deux valeurs X et Y sont supérieures à 0, Result sera success. Sinon, il retourne un code d'erreur (erreur_code_123).
 
Pour des erreurs plus spécifiques, vous pouvez gérer différents codes d'erreurs selon les cas :
 

Code :
  1. mon_predicat(X, Y, Result) :-
  2.    ( X =< 0 ->  
  3.        Result = erreur_code_101  
  4.    ; Y =< 0 ->  
  5.        Result = erreur_code_102  
  6.    ;  
  7.        Result = success
  8.    ).


 
Ici, chaque cas d'échec retourne un code d'erreur différent.


---------------
J'ai un string dans l'array (Paris Hilton)
n°2484321
lady287
La lumière fuse
Posté le 12-11-2024 à 16:30:29  profilanswer
 

Merci Harkonnen.
 
Cependant, c'est bien un code d'erreur de sortie de Swi-Prolog qu'il me faut.

n°2484324
lady287
La lumière fuse
Posté le 12-11-2024 à 17:40:04  profilanswer
 

J'ai eu l'idée d'écrire un fichier mais ça correspond pas au résultat que je souhaiterais parce que Swi-Prolog affiche true.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [Swi-Prolog] Retourner un numero d'erreur si le résultat est false

 

Sujets relatifs
[Prolog][Resolu] predicat "is_name"Erreur config Xdebug Docker VSCode
Erreur copie contenu fichier .odt dans fichier htmlAjax/JS ouvrir resultat d'un form POST dans une DIV
Bug bizarre : erreur 500 sur phpinfoliste à ordonner, résultat : none
[Powershell] Résultat RegExp incorrect (bug?)Pourquoi j'ai cette erreur lorsque je met une image dans un bouton ou
visual studio : Résultat de chiffres décimaux fonctionne plusErreur compilation cursor plsql
Plus de sujets relatifs à : [Swi-Prolog] Retourner un numero d'erreur si le résultat est false


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)