これは私のコードであり、動作しません。
skip([], []).
skip([H|T], [H|R]):-
atomic(H),
!,
skip(T, R).
skip([_|T], R):-
skip(T, R).
tails([], []).
tails([H|T], R]):-
atomic(H),
!,
skip(T, T1),
tails(T1, R).
tails([H|T], [H|R]):-
tails(H, R1),
skip(T, T1),
tails(T1, R2),
append(R1, R2, R).
リストを入力L = [1, [2, 3, [4, 5] ] ]
すると、結果は次のようになりますR = [1, 3, 5].