大佬教程收集整理的这篇文章主要介绍了swift – 实现|| =和\u0026\u0026 =运算符:不匹配运算符声明的运算符实现,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图为Bool值实现这些运算符:
func ||= (inout lhs: Bool,rhs: Bool) { lhs = lhs || rhs } func &&= (inout lhs: Bool,rhs: Bool) { lhs = lhs && rhs }
但编译器抱怨:运算符实现没有匹配运算符声明
这可以通过定义运算符来修复:
infix operator ||= { associativity right precedence 90 } infix operator &&= { associativity right precedence 90 }
但我不确定这是正确的做法.为什么标准库中的定义不起作用?另外,我注意到根据操作符参考标准库,没有针对任何类型的这些运算符的实现.这是为什么?这是疏忽还是故意的?
您可以通过Cmd单击Swift来轻松查看实际定义的运算符
import Swift
在例如一个操场.
或者,查看Policy.swift源代码中的标准运算符部分:
> swift/stdlib/public/core/Policy.swift
在上述两个中,很明显,&& =和|| =都不是本地定义的.
如果您对这些运算符的实现方式感兴趣(回到Swift 1.1),可能会对以下帖子感兴趣:
> Implementing Ruby’s ||= operator in Swift using @autoclosure
以上是大佬教程为你收集整理的swift – 实现|| =和\u0026\u0026 =运算符:不匹配运算符声明的运算符实现全部内容,希望文章能够帮你解决swift – 实现|| =和\u0026\u0026 =运算符:不匹配运算符声明的运算符实现所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。