В Swift, как вы преобразовываете массив в кортеж?
Проблема возникла из-за того, что я пытаюсь вызвать функцию, которая принимает переменное количество аргументов внутри функции, которая принимает переменное количество аргументов.
// Function 1
func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
// Example Usage
sumOf(2, 5, 1)
// Function 2
func averageOf(numbers: Int...) -> Int {
return sumOf(numbers) / numbers.count
}
Эта реализация averageOf
показалась мне разумной, но она не компилируется. При попытке вызвать sumOf(numbers)
:
Could not find an overload for '__converstion' that accepts the supplied arguments
Внутри averageOf
, numbers
имеет тип Int[]
. Я полагаю, что sumOf
ожидает кортеж, а не массив.
Таким образом, в Swift, как вы преобразовываете массив в кортеж?