2010-12-02 9 views
2

Ceci est directement à partir d'un tutoriel en ligne, et je reçois une erreur de conception haut niveau, aide?Prolog Faire une requête

employee(193,'Jones','John','173 Elm St.','Hoboken','NJ', 
              12345,1,'25 Jun 93',25500). 
employee(181,'Doe','Betty','11 Spring St.','Paterson','NJ', 
              12354,3,'12 May 91',28500). 
employee(198,'Smith','Al','2 Ace Ave.','Paterson','NJ', 
              12354,3,'12 Sep 93',27000). 

Compte tenu de ces relations de base (également appelées relations extensives), nous pouvons définir d'autres relations en utilisant les définitions de procédures Prolog pour nous donner des réponses aux questions que nous pourrions avoir sur les données. Par exemple, nous pouvons définir une nouvelle relation contenant les noms de tous les employés qui gagnent plus de 28 000 $:

well_paid_emp(First,Last) :- 
    employee(_Num,Last,First,_Addr,_City,_St,_Zip,_Dept,_Date,Sal), 
    Sal > 28000. 
+1

Fonctionne bien ici. Veuillez décrire votre erreur plus en détail. –

Répondre

0

Il se pourrait que vous utilisez un système Prolog qui affiche un avertissement singleton pour well_paid_emp/2.

Tous les systèmes Prolog permettent _ <Capital> <Reste> comme singletons, à savoir les variables qui se produisent qu'une seule fois dans une règle.