Здесь есть два варианта оператора +
.
Первый - это оператор сложения типа (Int, Int) -> Int
. Это тот, который будет вызван, если вы сделаете 2 + 2
, чтобы получить 4
Второй является оператором строки типа (String, String) -> String
. Это тот, который будет вызван, если вы сделаете "2" + "2"
, чтобы получить "22"
.
Вы пытаетесь смешивать и сопоставлять, что вы не можете сделать, потому что нет варианта +
, который имеет тип (String, Int) -> String
или (Int, String) -> String
.
Чтобы это работало, сначала нужно явно преобразовать все целые числа в строки:
let a = (7, "Prannay");
let b = (9, "Bothra");
if a > b {
print("True \n" + String(a.0) + " " + a.1);
} else {
print("False \n" + String(b.0) + " " + b.1);
}
Более того, вообще не используйте конкатенацию строк в таком случае, просто используйте интерполяцию строк, которая автоматически преобразует любой тип в его строковое представление:
let a = (7, "Prannay");
let b = (9, "Bothra");
if a > b {
print("True \n\(a.0) \(a.1));
} else {
print("False \n\(b.0) \(b.1));
}