In swift, a variadic argument can become an array without too much effort.
func foo(_ va: String...) {
let a: [String] = va
}
However, it seems odd to me that an array can not be converted into a
variadic argument
foo(["a", "b", "c"]) // <-error
foo("a", "b", "c") // no error
Other people have wondered about this too.
<http://stackoverflow.com/questions/24024376/passing-an-array-to-a-function-with-variable-number-of-args-in-swift>
According to this thread
<https://devforums.apple.com/message/970958#970958> Doug
Gregor says it is due to some type ambiguity. with Generics.
If type ambiguity is the issue, Do we have the option to cast it to the
correct type?
foo(["a", "b", "c"] as String...) // <- error. doesn't consider String...
to be a type.
What does the community think? Should we be granted some mechanism to turn
an array into a variadic argument?
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution