如果为true,Scala是否存在于满足谓词的第一个元素处?

时间:2020-01-26 21:41:07

标签: scala

我的直觉是,当然应该,当然也应该。但是我该如何检查?电脑是如此之快,以至于我不会注意到几毫秒的差别。例如:

(2 to Math.floor(Math.sqrt(121330189)).toInt).exists(121330189 % _ == 0)

在本地,它立即给出答案。通过Scastie,大部分延迟是由于Internet连接造成的。

此停在101或109还是停在其余位置?

1 个答案:

答案 0 :(得分:5)

它提早停止,例如参见https://github.com/scala/scala/blob/v2.12.0/src/library/scala/collection/Iterator.scala#L958

您可以通过在预测函数中添加一些工具(打印件)以确定调用多少次,从而在较小的范围内进行测试。