【发布时间】:2026-02-06 23:00:01
【问题描述】:
输入:
run([p(X,Y,Z),h(Z,P,Q)],Out).
代码:
:- ensure_loaded(library(lists)).
run([X|Y],Out) :-
X =.. [Fct|Args],
X =..Total,
length(Args,L),
concat(abs_,L,Fct_A),
Out =.. [Fct_A|Total].
在 swi prolog 上我得到了正确答案:
A = abs_3(p, X, Y, Z).
yap prolog 失败。看到我应该使用 yap。
我必须使用什么来代替 concat(abs_,L,Fct_A) ?我尝试了atom_codes,但它在原子末尾附加了奇怪的ascii。请帮忙。
【问题讨论】:
标签: prolog iso-prolog yap