繁体   English   中英

迅速:扩展数组可比性

[英]swift: extend array comparability

快速地,四个数组是自动可比较的-但是它们依次检查每个元素。 元素1是否匹配元素1,元素2是否匹配元素2,依此类推? -这可能是良好的标准行为。

但是我想针对特定的Interval类型扩展/更改此行为,因此,只要两个数组的内容匹配,元素的顺序无关紧要。 即,如果两个数组都已排序并匹配(使用原始行为),则应触发可比性。

问题是,通过定义新行为,我将“覆盖”并丢失现有行为(我理想情况下希望保留该行为,以便在对两个数组进行排序后都可以进行测试)-因此我得到一条警告:“所有通过此路径的路径函数会自称为“”。 任何想法如何解决,请

extension Array where Element == Interval {
    static func == (lhs: [Interval], rhs: [Interval]) -> Bool {
        return lhs.sorted() == rhs.sorted()
    }
}

首先使Interval符合Hashable。 现在,您可以将数组强制为Sets并比较相等性而不必考虑顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM