配列
まずは数値の配列です。
var arr:[Int] = [6, 98, 12, 5, 6] // 配列を初期化 println(arr[1]) // 98 (2番目の配列を表示)
とくに難しいことはないですね。
数値なのでIntで配列なため[]で囲みます。文字列なら[String]になります。
このようなシンプルな配列なら型は指定しなくても大丈夫ですが、多次元配列など複雑なもはだめなので基本指定した方がいいような気はします。
空で初期化&追加
配列を空で初期化するときは[]を代入します。
appendで配列を追加します。
var arr:[Int] = [] // 空の配列を初期化 arr.append(6) // 配列の追加 arr.append(3) arr[1] = 98 // 置き換え println(arr[1]) // 98
多次元配列
配列の中に配列を入れたいときに使います。
var arr:[[Int]] = [] // 空の多次元配列を初期化 arr.append([1,2,3]) // 配列の追加 arr.append([44,55,66]) println(arr[1][1]) // 55
多次元配列の宣言はカッコを二重にします。
[][]ではないんですね。。。
辞書
文字列をキーとしたい場合辞書を使用します。
// 辞書を初期化 var dic1:[String:Int] = [ "section1" : 13, "section2" : 26, "section3" : 62 ] println(dic1["section2"]) // 26 // 辞書を空で初期化 var dic2:[String:Int] = [:] dic2["section1"] = 13 // 追加 dic2["section2"] = 26 dic2["section3"] = 62 println(dic2["section3"]) // 62
辞書の中に配列を入れる
辞書の中に配列を入れたい場合があります。
その場合は中の型を[]で囲みます。
// 辞書の中に配列 var dic1:[String:[Int]] = [ "section1" : [13,7,69], "section2" : [26,136], "section3" : [62,28,7] ] println(dic1["section2"]?[1]) //136 // 空で初期化 var dic2:[String:[Int]] = [:] dic2["section1"] = [13,7,69] dic2["section2"] = [26,136] dic2["section3"] = [62,28,7] println(dic2["section3"]?[0]) //62
出力時はひとつ目の[]の後に「?」を付けないといけないようです。
複数の型をもつ配列
一つの配列にざまざまな型を入れたい場合はタプルというのを使うらしいです。
宣言するときは[]ではなく()を使用する。呼び出しもJSのオブジェクトっぽく「.(ドット)」です。
var tuple:(Int, String, Int) = (200, "hoge", 62) println(tuple.1) // hoge
しかし配列でも普通にできるっぽい。
var arr:Array = [200, "hoge", 62] println(arr[1]) // hoge
ラベル付きタプル
タプルは関数のようにラベルをつけることができます。
var tuple:(name:String, age:Int) = (name:"Yamada", age:10) println(tuple.name) //Yamada
タプルの配列
タプルの組みわせを配列として扱いたい場合です。
var arr:[(name:String, age:Int)] = [] arr.append(name:"Tamada", age:10) arr.append(name:"Tanaka", age:26) println(arr[1].name) //Tanaka