swift - 为什么 Comparable 协议没有 Equatable 的默认实现?
问题描述
为什么 swift 没有像这样的 Equatable for Comparable 协议的内置实现?
extension Comparable {
static func == (lhs: Self, rhs: Self) -> Bool {
return !(lhs < rhs) && !(rhs < lhs)
}
}
解决方案
我在评论中找到了答案谢谢大家:
假设a<b
是 false 并且b<a
是 false then ,对于像根据文档a==b
这样的特殊情况是不正确的:Float.nan
NaN 比较不等于、不大于和不小于每个值,包括它自己。将 NaN 传递给操作通常会导致 NaN。
推荐阅读
- javascript - 如何选择动态生成的元素
- php - 两个变量的比较,CodeIgniter
- python - 为什么附加到文本文件时最后一行重复?
- symfony - 警告:非法字符串偏移 'city' Symfony 表单搜索
- php - PHPSpreadsheet折叠分组行
- mysql - 为什么我的更新查询不接受联合子查询作为列值表达式?
- kubernetes - EKS 配置的 LoadBalancers 引用集群中的所有节点。如果 pod 驻留在 1 或 2 个节点上,随着 ELB 流量的增加,这是否有效?
- swift - 如何在 SwiftUI 中设置视图中的控制器
- javascript - 使用 jQuery 为多语言站点设置 cookie 和重定向
- r - R中的曼肯德尔