Predicates
is_a(X,Y) X is a doctor/handyman
drives(X,Y) X drives Y
Nous donné qu'un médecin conduit une voiture de sport et un bricoleur conduit une 4 roues motricesProblèmes avec le code Prolog
is_a(john,doctor).
is_a(david,handyman).
Maintenant, je veux le code de décider quel genre de voiture john/david conduisez. J'ai essayé de faire:
drives(X,sportscar) :- is_a(X,doctor).
drives(Y,4WD) :- is_a(Y,handyman).
Qu'est-ce que je fais mal?
?- drives(john,fourwd).
true .
?- drives(john,sportscar).
true .
?- drives(david,fourwd).
true .
?- drives(david,sportscar).
true .
Je ne sais pas Prolog, mais il semble comme un problème que vous avez utilisé '4WD' dans les définitions et' fourwd' plus tard dans les tests –
m'a demandé d'utiliser uniquement les prédicats fournies à pour les clauses prolog .... – John
Je pense que Michael a raison, '4WD' me donne une erreur de syntaxe. Utilisez 'fourwd' et cela devrait fonctionner. –