gpt4 book ai didi

arrays - swift:扩展数组可比性

转载 作者:可可西里 更新时间:2023-11-01 00:54:28 24 4
gpt4 key购买 nike

在 swift 中,4 个数组是自动比较的——但它们按顺序检查每个元素。元素 1 是否匹配元素 1,元素 2 匹配元素 2,等等? - 这可能是良好的标准行为。

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

问题是,通过定义我的新行为,我“覆盖”并丢失了现有行为(理想情况下我希望保留这些行为,这样我可以在两个数组都排序后进行测试) - 所以我收到警告“全部”通过此函数的路径将调用自身'。任何想法如何解决请

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

最佳答案

首先让Interval符合Hashable。现在您可以将数组强制转换为 Set 并比较是否相等,而无需考虑顺序。

关于arrays - swift:扩展数组可比性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53093505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com