To define a function that accepts a variable number of arguments, add three dots to your parameter.
For example, to define a function that calculates the average of a series of numbers passed in as arguments.
In this case your function can be defined as follows:
func average (nums: Int... ) -> Float { var sum: Float = 0 for num in nums { sum += Float (num) } return sum/Float(nums.count) }
The ... (three periods) indicates that the parameter accepts a varying number of arguments, which in this case are of type Int.
A parameter that accepts a variable number of values is known as a variadic parameter.
You can call the function by passing it arguments of any length:
func average (nums: Int... ) -> Float { var sum: Float = 0 for num in nums { sum += Float (num)/*w w w. j a va 2 s . co m*/ } return sum/Float(nums.count) } print(average(1,2,3)) //2.0 print(average(1,2,3,4)) //2.5 print(average(1,2,3,4,5,6)) //3.4
A variadic parameter must appear last in the parameter list.
If you have a function that accepts default parameter values, the variadic parameter must be last in the parameter list.