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):
虽然在你的情况下,看起来你的运算符用于乘法,你可以简单地使用标准库的乘法优先组,它用于*运算符: infix operator × : MultiplicationPrecedence 它被定义为: precedencegroup MultiplicationPrecedence { associativity: left higherThan: AdditionPrecedence } 有关标准库优先组的完整列表以及有关此更改的更多信息,请参阅evolution proposal。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |