我是Prolog编程的初学者.我写了这个程序来计算列表的长度.为什么以下程序错了?
length(0, []).
length(L+l, H|T) :- length(L, T).
Run Code Online (Sandbox Code Playgroud)
我写下面的程序,它工作正常.
length([], 0).
length([H|T], N) :- length(T, N1), N is N1+1.
Run Code Online (Sandbox Code Playgroud)
当我改变订单时,我收到了一个错误.为什么?
length([], 0).
length([H|T], N) :- N is N1+1, length(T, N1).
Run Code Online (Sandbox Code Playgroud)