1
我正在做一些過去的論文,需要知道我在這裏是否正確。評估表達式
給予下列用語的一步一步的評價:
foo(0,[2,3,1])
foo(0,[4,0,1])
其中foo的定義是這樣的:
foo(_,[]) -> [];
foo(Y,[X|_]) when X==Y -> [X];
foo(Y,[X|Xs]) -> [X | foo(Y,Xs) ].
我的答案:
1.
Foo(0, [2, 3, 1])
[2 | foo(0, 3, 1) ]
[2, 3| foo(0, 1) ]
[2, 3, 1 | foo (0)]
[2, 3, 1]
2 。
Foo(0, [4, 0, 1])
[4 | foo(0, 0,1])
[4, 0]
我在這裏糾正?
什麼,你會說這個功能呢?我已經知道去掉'Y'的所有實例。在這種情況下,所有零元素。 –
foo(Elem,List)返回列表的一個副本,Elem後的所有元素都被刪除。 – Pascal