這只是一個普遍的問題,源於別的。GNU Prolog - 循環和新列表
假設你想要矩陣中的產品表(我認爲它就是它所稱的)。
例子我把
outer([1,2,3],[4,5,6],L).
Then L = [[4,5,6],[8,10,12],[12,14,18]]
所以我想通過兩個列表進行迭代並創建一個新的列表。
我得到這個:
outer(L1,L2,L3) :-
append(LL,[L|RL],L1),
append(LE,[E|RE],L2),
Prod is L * E, !,
append(LE,[Prod|RE], NewL),
append(LL,[NewL|RL], L3).
這是一種接近。我知道我可以使用append遍歷這兩個列表,不知道如何創建一個新的列表。在創建一個全新的列表時總是會遇到麻煩。
謝謝。