如何在连接两个列表后从结果列表中删除零值?
这是我为合并2个列表而编写的代码,但我仍然坚持如何从结果列表中删除零。
代码:
merge([], [], _).
merge([H1|T1], [H2|T2], [H2|T]) :-
H1 > H2,
merge([H1|T1], T2, T),
!.
merge([H1|T1], [H2|T2], [H1|T]) :-
H1 =< H2,
merge(T1, [H2|T2], T),
!.
merge([], [H2|T2], T) :-
append([], [H2|T2], T).
merge([H1|T1], [], T) :-
append([], [H1|T1], T).
答案 0 :(得分:0)
以下代码将带有零的列表作为第一个参数,将列表作为第二个参数列出。它通过剥离第一个列表的头部来工作:如果它是零,则第二个列表不需要它。当你点击空字符串时,你就完成了。 prolog现在将回溯并建立第二个列表。
public interface IPlayer
{
string Name { get; set; }
}
public class Player : IPlayer
{
string Name { get; set; }
}
IPlayer playerDto = player as IPlayer;
Player player = Player(playerDto);
没有对它进行测试,但我很确定它应该给你
delete([],[]).
delete([0|T], L) :- delete(T, L).
delete([H|T], [H|T2]) :- delete(T, T2).