小さな例を挙げて、リスト内の特定の位置にシンボルを挿入したい
domains
element = symbol
list = element*
position = integer
predicates
insert (element, position, list, list) %(input,input,input,output)
clauses
insert (E,_,[],[E]).
insert (E, 1,[H|T],[E|[H|T]]). %(I insert E on the "first" position)
% I get errors how E and T are not bound. I have no idea how to make them bound
insert (E,P,[H|T],[H1|T1]) :-
P > 1,
P1 = P - 1,
insert (E,P1,T,T1).
うまくいきません...しかし、理由はわかりません。まあ、それはちょっとうまくいきます。outputList = [NEW_LIST]
毎回表示するのではなく、私symbolName=_
に表示してもらいたいですoutputList = [_,_,_,_]
。