我必须编写一个函数,它接受一个整数列表作为参数并返回列表中小于 1 的整数的数量。到目前为止,我所拥有的是一个仅返回列表中的整数个数的函数。我不确定应该在哪里/是否放置 if 语句和计数器以仅返回有多少个整数小于 1。
-export([num/1]).
num([]) -> 0 ;
num(L) -> num(L,0).
num([],Len) -> Len;
num([_|T],Len) ->
num(T,Len+1).
您可以使用 length() 来查找列表的长度,并且可以使用列表推导式 http://www.erlang.org/doc/programming_examples/list_comprehensions.html来过滤您的列表。
num(L) -> length([X || X <- L, X < 1]).
工作示例:
% list counter program
-module(listcounter).
-export([printnum/0, num/1]).
printnum() ->
L = [1,2,3,0,0],
io:fwrite("List size: ~p\n",[num(L)]).
num(L) ->
length([X || X <- L, X < 1]).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)