我在prolog中编写了一个函数all_names,似乎工作正常:
all_names([],[]):- !.
all_names(node(A,_,_),A):- !.
all_names(L,N):- maplist(all_names,L,N).
但是当运行下面的代码时,我收到并且非法启动条款错误。感谢
all_names([],Ns),!,Ns=[]).
错误:
ERROR: Syntax error: Illegal start of term
ERROR: all_names([],Ns),!,Ns=[]
ERROR: ** here **
ERROR: ) .
答案 0 :(得分:1)
似乎是一个合理的错误消息。最后的结束括号没有匹配的开放括号。
正常运行all_names([],Ns),!,Ns=[].
。