我想写本质上可以做到这一点的序言
atom_concat('3',' =',Answer).
Answer = '3 ='.
但是我不想使用atom_concat函数(或任何内置的谓词)。我也希望答案中没有引号。
我尝试实现一种与追加方法相同的方法,我称之为合并。
merge([],Xs,Xs).
merge([X|Xs],Ys,[X|Zs]):-
merge(Xs,Ys,Zs).
但是,当我将其写入db.pl文件时,在运行该文件时会出错。
?- [db].
true.
?- merge('3',' =',Answer).
false.
built_equality_structure(Id,Value,Id = Value).
如果用
?- built_equality_structure(a,3,X).
你会得到结果
X = (a=3)
Prolog系统仅在其中添加括号以提高可读性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句