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