2017-01-04 6 views
-1

最後の行は何をしていますか?list.count(x => x * x> 1)とは何ですか?

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

結果は、最後の行は、正確に何をして3

+6

[count](http://www.scala-lang.org/api/current/scala/collection/immutable/List.html#count)のAPIドキュメントを見てきましたか? (p:A => Boolean):Int)? –

答えて

11

やっているのですか?

これは、述語x * x > 1に対して真となるコレクション内の要素の数を数えています。要素は2と3と5です。結果は3です。

1

count()は述語を取ります。 -1,0,2,3,5

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

そして、これを:述語がtrueを返す要素は、あなたが

n * n > 1 

あなたのリストが含まれているため、単純な集計要素だので、ここでカウントされます理由は3の結果です:

関連する問題