【发布时间】:2023-03-22 16:05:01
【问题描述】:
我没有在 Swift 中使用过很多 Playgrounds。大多数情况下我一直在项目中使用它,所以我在处理游乐场时有点迷茫。
我在一个小操场上有这个测试代码:
let array = [7, 3, 4, 9, 2, 12, 5]
let firstSorted = array.sorted(<)
let secondSorted = sorted(array, <)
let thirdSorted = array.sorted { $0 < $1 }
右侧显示的输出显示了 firstSorted 和 secondSorted 旁边的排序数组输出。然而,thirdSorted 旁边的输出只是说(15 次)。
为什么?以及如何在不添加单独的 println 命令来记录输出的情况下查看输出?
第三种形式有一个尾随闭包,其参数由它们的位置指定。
另外两个是更短的形式,只采用比较运算符,恰好匹配所需闭包的签名。
另一个问题:(这次是关于语言,而不是游乐场)为什么sorted(array, <) 和array.sorted(<) 表单都有效?第一种是带 2 个参数的全局函数,第二种形式是 Array 类的方法。
【问题讨论】: