在序言中拆分列表元素
Split the list element in prolog
我在拆分 prolog 列表时遇到问题 element.I 有一些列表 atom.If 在我的 prolog 列表中找到原子然后它被两个词拆分。
我的代码.
list-->[acar]|[avan]|[ajeep]|[abicycle].
%expected answer
?- split([i,have,acar],L2).
L2=[i,have,a,car];
?- split([there,is,avan,and,acar],L2).
L2=[there,is,a,van,and,a,car];
我无法得到更好的way.Any解决这个问题的想法problem.Thank你...
参考这个:
list(car)-->[acar].
list(van)-->[avan].
list(jeep)-->[ajeep].
list(bicycle)-->[abicycle].
split(In,X):-list(W,[L],[]),append(A,[L|T],In),append(A,[a,W|T],X1),split(X1,X),!.
split(L,L).
编辑
split_a(X):-list([L],[]),atom_length(L,S),N is S-1,sub_atom(L,1,N,_,X).
我在拆分 prolog 列表时遇到问题 element.I 有一些列表 atom.If 在我的 prolog 列表中找到原子然后它被两个词拆分。
我的代码.
list-->[acar]|[avan]|[ajeep]|[abicycle].
%expected answer
?- split([i,have,acar],L2).
L2=[i,have,a,car];
?- split([there,is,avan,and,acar],L2).
L2=[there,is,a,van,and,a,car];
我无法得到更好的way.Any解决这个问题的想法problem.Thank你...
参考这个:
list(car)-->[acar].
list(van)-->[avan].
list(jeep)-->[ajeep].
list(bicycle)-->[abicycle].
split(In,X):-list(W,[L],[]),append(A,[L|T],In),append(A,[a,W|T],X1),split(X1,X),!.
split(L,L).
编辑
split_a(X):-list([L],[]),atom_length(L,S),N is S-1,sub_atom(L,1,N,_,X).