2012-04-04 10 views
1

J'écris une interface graphique pour un fichier prologue en utilisant C# en utilisant SWI-Prolog, mais je ne sais pas comment obtenir la solution d'une requête dans certaines chaînes.Obtenir le résultat d'une requête Prolog en C# en utilisant SWI-Prolog C#

La requête direct_evening_flight (londres, edinburgh) dans pl renvoie certains jours de la semaine par exemple lundi, mardi, jeudi.

Si j'exécute la requête en C#

PlQuery q = new PlQuery("direct_evening_flight(london,edinburgh).") 

Il imprimer automatiquement le résultat dans la console. Cependant, je veux recevoir le résultat un par un dans une variable de chaîne à la place. Comment puis je faire ça?

Répondre

0

Vous devez transformer votre prédicat direct_evening_flight/2 en un prédicat direct_evening_flight/3 où la dernière variable contiendra les résultats de votre requête. De cette façon, la requête ne sera pas sortie vers la sortie standard mais vers cette variable à la place.

+0

Est-il possible de capturer la sortie standard dans une chaîne à la place? – W00f

+0

@ W00f: Je ne connais pas une façon correcte de le faire, mais peut-être qu'il y en a! Désolé de ne pas avoir beaucoup d'aide là-bas; – m09

Questions connexes