gpt4 book ai didi

swift - 为 Swift 中的运算符转义闭包

转载 作者:行者123 更新时间:2023-11-28 15:52:23 25 4
gpt4 key购买 nike

如何在 Swift 的变量中存储用于计算运算符的函数?

都不是Int.<也不Int.`<`似乎为我编译。

对于字母数字函数名称,这工作得很好:

extension Comparable {
static func lessThan(_ lhs: Self, _ rhs: Self) -> Bool {
return lhs < rhs
}
}

let comparator = Int.lessThan

我知道我可以像这样创建一个新的闭包,但我觉得一定有更优雅的方法:

let comparator: (Int, Int) -> Bool = {
return $0 < $1
}

请注意<实际上是 Comparable 上的静态函数在 Swift 3 中,顶级运算符 < only 是一个包装器:

public protocol Comparable : Equatable {
...
public static func <(lhs: Self, rhs: Self) -> Bool
...
}

最佳答案

用括号括起来

let comparator: (Int, Int) -> Bool = (<)

关于swift - 为 Swift 中的运算符转义闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42126583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com