如何解决Swift/Foundation:不一致的 > 和 < 测量运算符
Foundation.Measurement
使用以下签名实现 >
和 <
运算符:
static func > (
lhs: Measurement<UnitType>,rhs: Measurement<UnitType>
) -> Bool
(https://developer.apple.com/documentation/foundation/measurement/2883205)
static func < <LeftHandSideType,RightHandSideType>(
lhs: Measurement<LeftHandSideType>,rhs: Measurement<RightHandSideType>
) -> Bool where LeftHandSideType: Unit,RightHandSideType: Unit
(https://developer.apple.com/documentation/foundation/measurement/2293618)
为什么它们会不同?
他们似乎没有费心实施>
:
对于符合 Comparable 的任何类型,这是大于运算符 (>) 的默认实现。
似乎他们继续前进,只是实现了 <
,而不是 >
——使用不同的签名。
为什么 <
运算符允许 lhs
和 rhs
使用不同的单位类型?谁想比较苹果和橙子?我希望:
static func < (
lhs: Measurement<UnitType>,rhs: Measurement<UnitType>
) -> Bool
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。