Swift 我的自定义运算符需要优先组?

Swift 我的自定义运算符需要优先组?,swift,Swift,因此,我有一个自定义运算符≈这在比较一对数字时效果很好,但在尝试比较多对数字时失败。下面的代码片段可以直接扔到操场上以复制错误 infix operator ≈ func ≈ (lhs: Int, rhs: Int) -> Bool { lhs < rhs + 80 && lhs > rhs - 80 } let results = 100 ≈ 75 && 89 ≈ 78 //<-- `Adjacent operato

因此,我有一个自定义运算符
这在比较一对数字时效果很好,但在尝试比较多对数字时失败。下面的代码片段可以直接扔到操场上以复制错误

infix operator ≈

 func ≈ (lhs: Int, rhs: Int) -> Bool {
      lhs < rhs + 80 && lhs > rhs - 80
 }

 let results = 100 ≈ 75 && 89 ≈ 78 //<-- `Adjacent operators are in unordered precedence groups 'DefaultPrecedence' and 'LogicalConjunctionPrecedence'`
中缀运算符≈
func≈ (左:内,右:内)->Bool{
lhsrhs-80
}

让结果=100≈ 75 && 89 ≈ 78/您需要将操作数分组:

let results = (100 ≈ 75) && (89 ≈ 78)
或定义新的运算符优先级:

precedencegroup CongruentPrecedence {
    lowerThan: MultiplicationPrecedence
    higherThan: AdditionPrecedence
    associativity: left
}

infix operator ≈:CongruentPrecedence

您需要将操作数分组:

let results = (100 ≈ 75) && (89 ≈ 78)
或定义新的运算符优先级:

precedencegroup CongruentPrecedence {
    lowerThan: MultiplicationPrecedence
    higherThan: AdditionPrecedence
    associativity: left
}

infix operator ≈:CongruentPrecedence

讽刺的是,我从来没有用过斯威夫特,我只是用谷歌搜索错误。讽刺的是,我从来没有用过斯威夫特,我只是用谷歌搜索错误