我有一个Prolog代码复制整个列表,但我想要的只是复制一个单词(例如“a”)。例如; dups([],[]).
dups([H|T],[H,H|Y]) :-
dups(T,Y).
我的代码重复列出[a,b]像=>[a, a ,b ,b]。 但我想要的是,重复列表[a, b] like =>[a, a, b]。
说我有一个看起来像这样的数据库: regular_player('Xi').
regular_player('Doyle').
expert_player('Houdini').
expert_player('Gandhi').
% don't allow expert players to be paired together
start --> good_pair.
good
我正在尝试开发一个prolog过程,它将使用univ(=..)将任何给定列表中的数字转换为它们的平方根列表。到目前为止,我有 convert(X,Y): number(X), Y is X^2.
use([],_,[]).
use([_|X],convert,L):-
convert(X,Y),
L =..[convert,X,Y].
这评估假,什么可能是错误的