相关疑难解决方法(0)

如何优雅地比较Swift中的元组?

我有2个不同类型的元组(Double,Double):

let tuple1: (Double, Double) = (1, 2)
let tuple2: (Double, Double) = (3, 4)
Run Code Online (Sandbox Code Playgroud)

我想使用简单的if语句比较它们​​的值.就像是:

if (tuple1 == tuple2) {
    // Do stuff
}
Run Code Online (Sandbox Code Playgroud)

这会引发以下错误:

找不到接受提供的参数的'=='的重载

我目前的解决方案是这样的功能:

func compareTuples <T: Equatable> (tuple1: (T, T), tuple2: (T, T)) -> Bool {
    return (tuple1.0 == tuple2.0) && (tuple1.1 == tuple2.1)
}
Run Code Online (Sandbox Code Playgroud)

我真的不喜欢这个解决方案,并寻找更优雅的东西.我已经尝试编写扩展但不能使其适用于元组.你有解决这个问题的好方法吗?

comparison tuples swift

23
推荐指数
3
解决办法
1万
查看次数

标签 统计

comparison ×1

swift ×1

tuples ×1