3
나는 다음과 같은 코드를 가지고 : 쿼리, ?- pick_even(L,[4,7]).
를 실행할 때추가 출력 사용 _
pick_even([], []).
pick_even([_, H | T], [H | R]) :-
pick_even(T, R).
pick_even([_, H , _ | T], [H | R]) :-
pick_even(T, R).
, 내가 출력 받고 싶은 :
L = [_7650, 4, _7662, 7] ;
L = [_7650, 4, _7662, 7, _7674] ;
대신 나는 몇 가지 여분의 출력을 수신하고을 그 내가 원하지 않는 :
L = [_7650, 4, _7662, 7] ;
L = [_7650, 4, _7662, 7, _7674] ;
L = [_7650, 4, _7662, _7668, 7] ;
L = [_7650, 4, _7662, _7668, 7, _7680].
어떻게하면 쿼리를 수정하지 않고 이러한 추가 출력을 제거 할 수 있습니까?
나는 프롤로그 할 새로운 브랜드, 그래서 나는 이것이 아주 쉬운 구문 수정 될 것으로 기대합니다. 이다
@Lance_P : 사실, 난 그냥 이름을 개선하고 싶어하고 내 대답을 수정 - 새로운 답을 만들어 어떤 이유로 ... – false