3
我有以下代碼:剩餘輸出_
pick_even([], []).
pick_even([_, H | T], [H | R]) :-
pick_even(T, R).
pick_even([_, H , _ | T], [H | R]) :-
pick_even(T, R).
當運行查詢,?- pick_even(L,[4,7]).
,我想收到的輸出:
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].
如何在不修改查詢的情況下消除這些額外的輸出?
我是全新的prolog,所以我期望這是一個非常簡單的語法修復。
@ Lance_P:其實,我只是想改善名稱並修改我的答案 - 出於某種原因提出了新的答案...... – false