Je m'excuse de perdre votre temps, mais je suis coincé:/ J'ai lu le manuel quelques fois, mais j'ai encore quelques questions sur le développement de Prolog.Net (http: // prolog. hodroj.net/ version).Prolog.NET: backtracing et tableaux
- Comment obtenir toutes les réponses possibles à une requête? par exemple. Base de données de
f(a, 20). f(a, 30). f(a, 40). f(b, 20).
f (a, X). devrait revenir [20, 30, 40]. J'ai essayé la méthode Redo(), mais cela n'a pas fonctionné pour moi.
- Comment utiliser les tableaux dans les requêtes? code comme celui-ci
AbstractTerm a = new AbstractTerm(); AbstractTerm b = new AbstractTerm(); ArrayList c = new ArrayList(symptomsConfirmed.ToArray()); ArrayList d = new ArrayList(symptomsDenied.ToArray()); database.q(a, c, d, b);
cause de InvalidCastException (ne peut pas convertir. 'System.Collections.ArrayList' à 'Axiom.Runtime.AbstractTerm')
Je serais très reconnaissant pour toute aide. MSM.
q la signature de la méthode est 'de cource' q (objet, objet, objet, objet, objet). La signature Prolog (cette méthode est la règle prologue compilée) est q (X, [H1 | T1], [H2 | T2], S, M). C'est (99%) un bug dans le compilateur Prolog.net (version beta 0.2), mais je ne sais pas comment le réparer. – MSM