的總和我寫了這個代碼: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