加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift3:如何处理优先组现在操作符应该用身体声明?

发布时间:2020-12-14 05:52:38 所属栏目:百科 来源:网络整理
导读:操作符的前Swift 3代码是: infix operator × {associativity left precedence 150} 但现在,根据Xcode 8 beta 6,这会产生以下警告: "operator should not be declared with body" 什么是正确的方法来使用优先级组谓词,现在没有文档? 我已经尝试了这个
操作符的前Swift 3代码是:
infix operator × {associativity left precedence 150}

但现在,根据Xcode 8 beta 6,这会产生以下警告:

"operator should not be declared with body"

什么是正确的方法来使用优先级组谓词,现在没有文档?

我已经尝试了这个,但不行:

infix operator × : times
precedencegroup times {
     associativity: left 
     precedence: 150
}
根据 SE-0077,运算符的优先级不再由幻数确定 – 而是现在使用higherThan和(如果组驻留在另一个模块中)lowerThan precedencegroup关系,以便定义相对于其他组的优先级。

例如(从evolution proposal):

06000

虽然在你的情况下,看起来你的运算符用于乘法,你可以简单地使用标准库的乘法优先组,它用于*运算符:

infix operator × : MultiplicationPrecedence

它被定义为:

precedencegroup MultiplicationPrecedence {
  associativity: left
  higherThan: AdditionPrecedence
}

有关标准库优先组的完整列表以及有关此更改的更多信息,请参阅evolution proposal。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读