W języku szybkiego programowania mówi:
Funkcje mogą również pobierać zmienną liczbę argumentów, zbierając je w tablicę.
func sumOf(numbers: Int...) -> Int { ... }
Kiedy wywołuję taką funkcję z listą liczb oddzielonych przecinkami (sumOf (1, 2, 3, 4), są one udostępniane jako tablica wewnątrz funkcji.
Pytanie: co jeśli mam już tablicę liczb, które chcę przekazać do tej funkcji?
let numbers = [1, 2, 3, 4]
sumOf(numbers)
To kończy się niepowodzeniem z powodu błędu kompilatora: „Nie można znaleźć przeciążenia dla '__conversion', który akceptuje podane argumenty”. Czy istnieje sposób na przekształcenie istniejącej tablicy w listę elementów, które mogę przekazać do funkcji wariadycznej?