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