什么是list.count(x => x * x> 1)在做什么?

时间:2017-01-04 05:11:50

标签: scala

最后一行到底是做什么的?

val list = List(-1,0,2,3,5)
list.count(x => x * x > 1)

结果是3。

2 个答案:

答案 0 :(得分:11)

  

最后一行到底是做什么的?

它计算集合中为谓词x * x > 1生成true的元素数。元素分别为2,3和5,结果为3。

答案 1 :(得分:1)

count()接受谓词。谓词返回true的元素将被计算在内,因此您可以使用

的简单计数元素
n * n > 1

您的清单包含:-1,0,2,3,5

-1 * -1 = 1
0 * 0 = 0
2 * 2 = 4 > 1
3 * 3 = 9 > 1
5 * 5 = 25 > 1

这就是为什么结果是3:)