【发布时间】:2011-05-14 13:58:16
【问题描述】:
我有一个谓词问题,它以原子列表的方式工作:
nopolfont([to,jest,tekśćik,'!'],L).
结果
L = [to,jest,tekscik,'!'].
我对 make_swap 和 swap 谓词有疑问。到目前为止,我有:
k(ś,s).
k(ą,a).
% etc.
swap(X,W) :- name(X,P), k(P,Y), !, name(Y,W).
swap(X,X).
make_swap(A,W)
:- atom(A),!,
name(A,L),
swap(L,NL),
name(W,NL).
nopolfont([],[]).
nopolfont([H|T],[NH|S]) :- make_swap(H,NH), nopolfont(T,S).
有什么优雅的方法可以做到这一点?
【问题讨论】:
标签: prolog