У меня есть список с неизвестным числом нулей в начале его, например [0, 0, 0, 1, 2, 0, 3]. Мне нужно, чтобы этот список был лишен ведущих нулей, чтобы он выглядел как [1, 2, 0, 3].
Вот что у меня есть:
lead([Head | _], _) :- Head =\= 0.
lead([0 | Tail], _) :-
lead(Tail, Tail).
Результат которого просто True. Чтение трассы показывает, что она работает до тех пор, пока она не будет иметь список без начальных нулей, но тогда ответ не будет распространять резервную копию стека. Я новичок в Prolog, поэтому не могу понять, как это сделать.