두 멤버의 백 체인 프로 시저를 그려서 멤버의 구현이 더 효율적인지 결정하려고합니다.프롤로그 표준 멤버/2 대 멤버/2가 추가로 구현 되었습니까?
표준 구현 :
isMember(X,[X|Tail]).
isMember(X,[H|Tail]) :- isMember(X,Tail).
추가] 구현 : (내 수업 노트에서)
appendMember(X,List).
appendMember(X,List) :- myAppend(List1,[X|List2],List).
myAppend([],List,List).
myAppend([H|List1],List2,[H|Result]) :- myAppend(List1,List2,Result).
내가 TK 이클립스에서 추적을 사용할 때 나는 재귀와 표준 구현에 대한 예상 출력을 얻을 호출하지만 추가 구현은 즉시 성공적으로 종료됩니다.
왜 그런지 궁금하네요. 그리고 append 메소드의 백 체인 프로 시저를 그리는 방법에 대해 궁금합니다.
미리 감사드립니다.
더욱 효율적입니다 ['memberd/2'] (https://stackoverflow.com/a/21971885/772868) – false