我必须写一个谓词其中将交换的前两个字母长度为两个或更多个的原子。 长度的一个原子是不变。
?- interchange(cat,X).
X = act;
我想用的名字函数分裂原子:
?- name(food,[X,Y|Z]).
Z = "od",
Y = 111,
X = 102 ;
这是我写的代码:
inter(X,[]).
inter(X,[Q|W]):-
name(X,[H,T|R]), reverse([H,T],W), !, append([W],[R],F).
我得到这样的输出:
P = [] ;
P = [_VCSF, 111, 102] ;
我怎样才能提高我的代码,从而获得所需的输出。 提前致谢。