Swift - タプル
タプル
タプルは、複数の値を1個の値として扱えることが可能となる。1個の変数に複数の値を代入したり、関数で複数の値を返すこともできる。
宣言と代入
書式
(値1, 値2, ...)
たとえば、以下のような使い方ができる。
let book = ("Let's Swift!", 1200) var sushikun:(String, Int, String) = ("おいしい", 200, "マグロ") print(book) print(sushikun)
("Let\'s Swift!", 1200) ("おいしい", 200, "マグロ")
ちなみに、型を指定していない場合は最初に代入した値をもとに型推論がされるため注意が必要。
let book = ("Let's Swift!", 1200) book = ("Let's Android", "book")
error: cannot assign value of type 'String' to type 'Int' book = ("Let's Android", "book")
値を取り出す
タプルに代入された値を取り出す際は、以下のように受け取る。
var book = ("Let's Swift!", 1200) var (bookName, bookPrice) = book print(bookName, bookPrice, separator: "/")
Let's Swift!/1200
以上のように、タプルに代入された値の数と受け取りたい数が一致していれば良いが、本の名前だけを取得したい、という場合には_
というワイルドカードを使用すれば必要な値のみ受け取ることが可能になる。
var book = ("Let's Swift!", 1200) var (bookName, _) = book print(bookName)
Let's Swift!
タプルの値にインデックス番号でアクセス
先程の値を取り出す方法だと、たくさんの値が含まれたタプルの最後の値を取り出したい時に煩雑なコードになってしまう。
タプルはインデックス番号でアクセスすることも可能であるので、上記のような場合はこちらを利用したほうが見通しがよくなる。
var book = ("Let's Swift!", "Let's Xcode", "Let's Macbook", "Let's note") print(book.3)
Let's note
タプルの値にラベルを付ける
それぞれの値がどういうものなのか、ラベルを付けることで区別することができる。
var book = (name: "Let's Swift!", price: 1500, isbn: "134321234532") print(book.name)
Let's Swift!
参考
詳細! Swift 3 iPhoneアプリ開発 入門ノート Swift3 + Xcode 8対応 (Oshige introduction note)
- 作者: 大重美幸
- 出版社/メーカー: ソーテック社
- 発売日: 2016/11/05
- メディア: 単行本
- この商品を含むブログを見る