我想知道某些非常大的列表f(X)
中的X
是否属于L
。
现在我有:
lists:foldl(fun(X, Last) -> f(X) andalso Last end, true, L)
问题是我不认为这种短路。即使L
中的第一个元素为假,它也会一直持续,并且与false
一起使用。
是否有折叠标志,这样会短路或我可以使用的其他功能?
我现在看到有一个名为all
的函数,但它也没有说它是否短路。
答案 0 :(得分:5)
padding-left
没有办法停止折叠并立即返回值。您可以使用lists:all/2
,如果传递的函数为列表中的任何项返回lists:foldl/3
,它将停止处理列表的其余部分:
false