【swift入門】初心者向け基本文法徹底解説「タプル」

さて、定数や変数については、

もう完璧に理解したことと思います。

 

う〜ん・・・正直まだよく分からんwって人は、

定数と変数の記事を読み直してみてください!

【swift入門】初心者向け基本文法徹底解説「定数と変数」

 

で、今回は何をするかと言いますと、

タプルってやつをやります。

 

今までは、1つの定数や変数で1つの値を扱ってきました。

今回はちょっと難易度を上げて、

1つの定数や変数で複数の値を扱っていきたいと思います!

それをタプルっていいます。

 

タプル

百聞は一見になんちゃらって言いますから

例を見てみましょうw

Swift
var personalData = ("佐藤", "男", 9)

上記のコードでは、personalDataという変数で、3つの値を扱っています。

この変数の型は順番に、String、String、Int

このように異なった型を組み合わせて使うことができます。

タプルがすごいのはなんと言ってもここ!

型が違っていても1つの定数や変数で表せてしまうところなんですね。

 

ただし、タプルには注意点があり、

一度決めた値は、(変数で宣言した場合)変更することはできますが、

値の数を増やしたり、減らしたりするこはできないんです!

また、決めた型をあとから変更することもできません!

Swift
var personalData = ("佐藤", "男", 9)
personalData = ("鈴木", "女", "10")

上記のようにタプルの値を変えることはできますが、

下記のようにタプルの値の数を増やしたり、

Swift
var personalData = ("佐藤", "男", 9)
personalData = ("佐藤", "男", 9, "北海道") // エラー

減らしたり、

Swift
var personalData = ("佐藤", "男", 9)
personalData = ("佐藤", "男") // エラー

はNGです!

また、

Swift
var personalData = ("佐藤", "男", 9)
personalData = (9, "佐藤", "男") // エラー

上記のように型を変更することはできません!

(”佐藤”, “男”, 9)は、String, String, Int

(9, “佐藤”, “男”)は、Int, String, String

 

あと、

Swift
var personalData = ("佐藤") // エラー

のように、値を1つしか取らないのもNGです!

 

ここまで大丈夫でしょうか?

 

タプルのすごさは、まだ伝わりきれていないとは思いますが、

タプルの使い方というか

宣言の仕方は分かっていただけたのではないでしょうか?

 

タプルの使い方

今度は使い方を見ていきましょう!

まずは、宣言したタプルをどんな感じで使うのかというと、

こんな感じです!

Swift
var personalData = ("佐藤", "男", 9)
var (name, sex, age) = personalData

上記のようにすることで、

nameには、「佐藤」が入り

sexには、「男」

ageには「9」が入ります。

このようにすることで、

タプル内のそれぞれの値を取り出し、

取り出した値を別々に使うことができます。

 

または、こんな取り出し方もあります。

Swift
var personalData = ("佐藤", "男", 9)
var name = personalData.0
var sex = personalData.1
var age = personalData.2

上記の例のように、

数字(personalDateの後ろの数字)を使って、

値を取り出す方法もあります。

この数字をインデックス番号といいます。

ちなみに、インデックス番号は0から始まります

 

下のような感じでインデックス番号を使って、

値を変更することも可能です。

Swift
var personalData = ("佐藤", "男", 9)
personalData.0 = "鈴木"
personalData.1 = "女"
personalData.2 = 10

上記の例だと、

変更後のpersonalDataは、(“鈴木”, “女”, 10)になっています。

 

インデックス番号以外だと、

ラベル付きのタプルを最初から作って、

そのラベルを使って、値にアクセスする方法もあります。

 

ラベルってなぁ〜に?って思ったことでしょうw

まずは、下の例題を見ておくれやす!

Swift
var personalData = (name:"佐藤", sex:"男", age:9)
personalData.name = "鈴木"
personalData.sex = "女"
personalData.age = 10

このときのnameやsex、ageが、ラベルと呼ばれるものなんです。

そして、ラベルを使ったアクセスの仕方が、

personalData.name(定数や変数の名前.ラベル名)といった感じでアクセスします。

ちなみに、上記のpersonalDataも(“鈴木”, “女”, 10)に上書きされています。

 

ここまでOKでしょうか?

まぁ、タプルはこんな感じですw

おさらい

複数(何個でも)の値を1つの定数、または変数で扱える。

値の型はそれぞれ違っていて良い。

(変数で宣言した場合)あとから値は変更できるが、型(数や種類)は変更できない。

それぞれの値には、インデックス番号やラベルを使ってアクセスする。

OK?

ついでにw

下記の例ようにアクセスしない値がある場合は、

_(アンダースコア)を利用しましょう!

Swift
var personalData = ("佐藤", "男", 9)
var (name, sex, age) = personalData
personalData.age = 10

このような場合は、

Swift
var personalData = ("佐藤", "男", 9)
var (_, _, age) = personalData
personalData.age = 10

こんな感じで!

アクセスしない値には、_(アンダースコア)を使ってね!

 

これで定数や変数は扱えるようになっているはずw

次は、これらの定数や変数を使って数式を作って行きましょう!

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA