列表中 Evens 的 Prolog 长度

Prolog Length of Evens in a List

我是Prolog初学者,我有如下长度函数:

mylen([H|Lc],N) :- mylen(Lc,M),N is M+1.
mylen([],0).

我想知道是否有一种简单的方法来查询解释器以计算列表中偶数列表的长度,如果没有,我将如何仅在偶数上递增 N。谢谢

您可能正在寻找与此类似的内容

mylen([H|Lc],N) :- 
X is mod(H,2),
X == 0,
mylen(Lc,M),
N is M+1.

mylen([],0).

mylen([H|Lc],N) :-
mylen(Lc, M),
N = M.