的总和我写了这个代码:Prolog的计算2D名单
sum_list([], 0).
sum_list([H|T], X) :-
sum_list(T, Rest),
X is H + Rest.
它计算所有列表元素的总和。例如,如果我打电话:
sum_list([1,2,3], X).
它返回6.但我想也能够计算二维列表的总和。例如,如果我通过sum_list([[1,2],[3,4]], X)
。我会得到10 但是,当我试图通过这个名单,我得到:
uncaught exception: error(type_error(evaluable,'.'/2),(is)/2)
错误。这个错误有什么问题?我无法在网上找到任何有用的信息。
什么是你期待'[3,4] + 0'产生?如果是这样,为什么你没有在你的原始代码中使用它? –
我不明白你的意思。那么我该如何总结2D列表呢? – motleycrue