Swiftで可変数の引数を持つ関数に配列を渡す 質問する

Swiftで可変数の引数を持つ関数に配列を渡す 質問する

Swift プログラミング言語、それは言う:

関数は可変数の引数を受け取り、それらを配列に集めることもできます。

  func sumOf(numbers: Int...) -> Int {
      ...
  }

このような関数をコンマで区切られた数値のリスト (`sumOf(1, 2, 3, 4)) で呼び出すと、関数内では配列として使用できるようになります。

質問: この関数に渡したい数値の配列がすでにある場合はどうなりますか?

let numbers = [1, 2, 3, 4]
sumOf(numbers)

これはコンパイラ エラーで失敗します。「指定された引数を受け入れる '__conversion' のオーバーロードが見つかりませんでした。」既存の配列を可変長関数に渡すことができる要素のリストに変換する方法はありますか?

ベストアンサー1

開発者によって確認されているように、スプラッティングはまだ言語に含まれていません。

現時点での回避策は、オーバーロードを使用するか、オーバーロードを追加できない場合は待機することです。

おすすめ記事