我想知道你是否可以帮我解决这个问题。我需要创建一个计算列表中数字位数的脚本。这是一个例子:
amount([234,12,4356],L)
应该导致:
L=[c(234,3),c(12,2),c(4356,4)]
答案 0 :(得分:-1)
您需要获取原子的长度,并将其与原始变量的头部一起使用:
count(List,X):-
counter(List,X).
counter([],[]).
counter([H|T],[(H,Z)|X]):-
atom_length(H,Z),
counter(T,X).
所以查询:
?- count([234,12,4356],L).
L = [(234, 3), (12, 2), (4356, 4)].