質問: 4 //値を書き換える事は可能 print(a) //出力結果は3 print(b) //出力結果は4 ////// ``` でも宣言が可能だという事を知ったのですが、この方法で宣言するメリットってなんでしょうか? このやり方だとa,bそれぞれに一つずつしか値を代入する事しかできませんし この書き方を使うタイミングがよくわかりません。 何か検討違いな質問していたら申し訳ないのですがよろしくお願いいたします。
回答: 例文は、 ``` let t = (2, 3) var a = t.0 var b = t.1 ``` と同じ意味です。ですから、タプルを返す関数の戻り値を別の変数に入れたいときに使えばよいのではないでしょうか。 例えば、 ``` /// 平均と標準偏差を求める関数 func meanAndSd(data: [MyType]) -> (mean: Float, sd: Float) { (中略) } let data: [MyType] = (中略) var result = meanAndSd(data) // (1) var (mean, sd) = meanAndSd(data) // (2) ``` とした場合、 (1)の場合、これ以降毎回 result.mean, result.sd(またはresult.0, result.1)と書く必要がありますが、(2)の場合でしたら、mean, sdと書くだけで済みます。