У меня есть 2 разных набора типа (Double, Double):
let tuple1 : (Double, Double) = (1,2)
let tuple2 : (Double, Double) = (3,4)
Я хочу сравнить их значения с помощью простого оператора if. Что-то вроде:
if (tuple1 == tuple2){
// Do stuff
}
Это вызывает следующую ошибку:
Не удалось найти перегрузку для '==', которая принимает поставляемую Аргументы
Мое текущее решение - это такая функция:
func compareTuples <T:Equatable> (tuple1:(T,T),tuple2:(T,T)) -> Bool{
return (tuple1.0 == tuple2.0) && (tuple1.1 == tuple2.1)
}
Мне действительно не нравится это решение и поиск чего-то более элегантного. Я уже пытался написать расширение, но не могу заставить его работать для кортежей. У вас есть хорошее решение этой проблемы?