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

如果为true,Scala是否会在满足谓词的第一个元素处停止?,scala,Scala,我的直觉是,它当然应该,当然也应该。但我该怎么检查呢?这台电脑速度太快了,我根本没注意到几毫秒的差别。例如: (2 to Math.floor(Math.sqrt(121330189)).toInt).exists(121330189 % _ == 0) 在当地,它立即给出了答案。通过Scastie,大部分延迟是由于互联网连接造成的 它会在101或109上停止,还是会在其余时间停止?它会提前停止,请参见示例 您可以在小范围内进行测试,方法是向Predict函数添加一些指令插入和打印,以确定调用

我的直觉是,它当然应该,当然也应该。但我该怎么检查呢?这台电脑速度太快了,我根本没注意到几毫秒的差别。例如:

(2 to Math.floor(Math.sqrt(121330189)).toInt).exists(121330189 % _ == 0)
在当地,它立即给出了答案。通过Scastie,大部分延迟是由于互联网连接造成的


它会在101或109上停止,还是会在其余时间停止?

它会提前停止,请参见示例


您可以在小范围内进行测试,方法是向Predict函数添加一些指令插入和打印,以确定调用该函数的次数。

它会提前停止,请参见示例

您可以在一个小范围内进行测试,方法是向predict函数添加一些指令插入print,以确定调用它的次数。

Try exists{x=>printlnx;predictex}Try exists{x=>printlnx;predictex}