さて、定数や変数については、
もう完璧に理解したことと思います。
う〜ん・・・正直まだよく分からんwって人は、
定数と変数の記事を読み直してみてください!
で、今回は何をするかと言いますと、
タプルってやつをやります。
今までは、1つの定数や変数で1つの値を扱ってきました。
今回はちょっと難易度を上げて、
1つの定数や変数で複数の値を扱っていきたいと思います!
それをタプルっていいます。
タプル
百聞は一見になんちゃらって言いますから
例を見てみましょうw
var personalData = ("佐藤", "男", 9)
上記のコードでは、personalDataという変数で、3つの値を扱っています。
この変数の型は順番に、String、String、Int
このように異なった型を組み合わせて使うことができます。
タプルがすごいのはなんと言ってもここ!
型が違っていても1つの定数や変数で表せてしまうところなんですね。
ただし、タプルには注意点があり、
一度決めた値は、(変数で宣言した場合)変更することはできますが、
値の数を増やしたり、減らしたりするこはできないんです!
また、決めた型をあとから変更することもできません!
var personalData = ("佐藤", "男", 9)
personalData = ("鈴木", "女", "10")
上記のようにタプルの値を変えることはできますが、
下記のようにタプルの値の数を増やしたり、
var personalData = ("佐藤", "男", 9)
personalData = ("佐藤", "男", 9, "北海道") // エラー
減らしたり、
var personalData = ("佐藤", "男", 9)
personalData = ("佐藤", "男") // エラー
はNGです!
また、
var personalData = ("佐藤", "男", 9)
personalData = (9, "佐藤", "男") // エラー
上記のように型を変更することはできません!
(”佐藤”, “男”, 9)は、String, String, Int
(9, “佐藤”, “男”)は、Int, String, String
あと、
var personalData = ("佐藤") // エラー
のように、値を1つしか取らないのもNGです!
ここまで大丈夫でしょうか?
タプルのすごさは、まだ伝わりきれていないとは思いますが、
タプルの使い方というか
宣言の仕方は分かっていただけたのではないでしょうか?
タプルの使い方
今度は使い方を見ていきましょう!
まずは、宣言したタプルをどんな感じで使うのかというと、
こんな感じです!
var personalData = ("佐藤", "男", 9)
var (name, sex, age) = personalData
上記のようにすることで、
nameには、「佐藤」が入り
sexには、「男」
ageには「9」が入ります。
このようにすることで、
タプル内のそれぞれの値を取り出し、
取り出した値を別々に使うことができます。
または、こんな取り出し方もあります。
var personalData = ("佐藤", "男", 9)
var name = personalData.0
var sex = personalData.1
var age = personalData.2
上記の例のように、
数字(personalDateの後ろの数字)を使って、
値を取り出す方法もあります。
この数字をインデックス番号といいます。
ちなみに、インデックス番号は0から始まります!
下のような感じでインデックス番号を使って、
値を変更することも可能です。
var personalData = ("佐藤", "男", 9)
personalData.0 = "鈴木"
personalData.1 = "女"
personalData.2 = 10
上記の例だと、
変更後のpersonalDataは、(“鈴木”, “女”, 10)になっています。
インデックス番号以外だと、
ラベル付きのタプルを最初から作って、
そのラベルを使って、値にアクセスする方法もあります。
ラベルってなぁ〜に?って思ったことでしょうw
まずは、下の例題を見ておくれやす!
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
下記の例ようにアクセスしない値がある場合は、
_(アンダースコア)を利用しましょう!
var personalData = ("佐藤", "男", 9)
var (name, sex, age) = personalData
personalData.age = 10
このような場合は、
var personalData = ("佐藤", "男", 9)
var (_, _, age) = personalData
personalData.age = 10
こんな感じで!
アクセスしない値には、_(アンダースコア)を使ってね!
これで定数や変数は扱えるようになっているはずw
次は、これらの定数や変数を使って数式を作って行きましょう!
コメントを残す