> スウィフト – タプル – ネットワークエンジニアチュートリアル

スウィフト – タプル


スウィフト – タプル


Tuple(タプル)とは

型の異なる複数の値をひとまとめにできる

Swift 4 では、単一の複合値で複数の値をグループ化するために使用されるタプルタイプも導入されています。

タプルの値は違う型でもかまいませんし、同じ型である必要もありません。

// 値のみ
(val1, val2, ...)

// 値に名前をつけられる
(name1: val1, name2: val2, ...)

Tupleをつかう


値のみを宣言する場合

  • 0からの連番で参照する
値のみのTuple
var tpl = ("猫", 35, true)

println(tpl)        // -> (猫, 35, true)

println(tpl.0)      // -> 猫
println(tpl.1)      // -> 35
println(tpl.2)      // -> true
println(tpl.3)      // Error

tpl.1 = 20
println(tpl.1)      // -> 35

値に名前をつけて宣言する場合

  • つけた名前で参照できる
  • 連番でも参照できる
値に名前をつけたTuple
var tpl = (name: "猫", count: 10, flag: true)

println(tpl.name)   // -> 猫
println(tpl.count)  // -> 10
println(tpl.flag)   // -> true

println(tpl.0)      // -> 猫
println(tpl.1)      // -> 10
println(tpl.2)      // -> true

Tupleに変数名をつけない

  • まとめて変数宣言っぽいことができる
Tupleに変数名をつけない
var (name, count, flag) = ("猫", 10, true)
println(name)       // -> 猫
println(count)      // -> 10
println(flag)       // -> true

TAupleから指定した値だけを取り出す

  • 取得しない位置に_(アンダースコア)を入れることで実現できる。
Tupleから指定した値のみ取り出す場合
var (name, _, flag) = ("猫", 10, true)
println(name)       // -> Qiita
println(_)          // Error
println(flag)       // -> true

Tupleで値を入れ替える

  • tmpのような変数を用意する必要がない
Tupleで値を入れ替える
var n1 = 1
var n2 = 2
(n1, n2) = (n2, n1)
println(n1)     // -> 2
println(n2)     // -> 1

ネストしたTuple

  • 右辺と左辺のネスト構造が同じなら代入される
ネストしたTuple
var nest = (10, 20, (30, 40))
var (n1, n2, n3, n4) = nest // Error
var (n1, n2, (n3, n4)) = nest   // 代入される

前のページ 次のページ









スポンサーリンク

ネットワークエンジニアになりたければ下記から無料相談会に参加!
なんと無料で授業を受けれてエンジニアになれます

投稿日:2017-10-31 更新日:

執筆者: