游乐场显示奇怪的执行次数

Playground shows strange count of execution

let intArray = [5]
intArray.allSatisfy{[=10=]<0} //false, of course, but why 2 times?

据我所知,没有更多的运算符了...

它不会告诉您该块被执行了多少次,而是告诉您该行调用了多少输出。由于块 returns false 和函数 allSatisfy returns false,因此在 1 行中有 2 个输出。您会注意到,无论数组的大小如何,您都会得到相同的值,并且如果您展开代码,即

intArray.allSatisfy {
    [=10=] < 0
}

你没有看到 2 次

Playgrounds 似乎没有为作为参数传递的 closures/functions 的执行提供计数器,而是仅针对常规的 for 循环。