如何计算 Prolog 中的嵌套列表元素?我定义了以下谓词,它将嵌套列表计为一个元素:
length([ ], 0).
length([H|T],N) :- length(T,M), N is M+1.
用法:
?- length([a,b,c],Out).
Out = 3
这行得通,但我也想计算嵌套元素,即
length([a,b,[c,d,e],f],Output).
?- length([a,b,[c,d,e],f],Output).
输出 = 6
如何计算 Prolog 中的嵌套列表元素?我定义了以下谓词,它将嵌套列表计为一个元素:
length([ ], 0).
length([H|T],N) :- length(T,M), N is M+1.
用法:
?- length([a,b,c],Out).
Out = 3
这行得通,但我也想计算嵌套元素,即
length([a,b,[c,d,e],f],Output).
?- length([a,b,[c,d,e],f],Output).
输出 = 6