4 Stimmen

Unzulässiger Beginn eines Terms in Prolog

Ich versuche, einige Prädikate zu schreiben, um die folgende Aufgabe zu lösen (learnprolognow.com)

Angenommen, wir haben eine Wissensbasis mit den folgenden Fakten:

tran(eins,one).
tran(zwei,two).
tran(drei,three).
tran(vier,four).
tran(fuenf,five).
tran(sechs,six).
tran(sieben,seven).
tran(acht,eight).
tran(neun,nine).

Schreiben Sie ein Prädikat listtran(G,E), das eine Liste von deutschen Zahlwörtern in die entsprechende Liste von englischen Zahlwörtern überträgt. Zum Beispiel:

listtran([eins,neun,zwei],X).

geben sollte:

X = [one,nine,two].

Ich habe geschrieben:

listtran(G,E):- G=[], E=[].  
listtran(G,E):- G=[First|T], tran(First, Mean), listtran(T, Eng), E = [Mean|Eng).

Aber ich erhalte die Fehlermeldung: "Illegaler Beginn des Terms" beim Kompilieren. Irgendwelche Vorschläge?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X