配列
まずは数値の配列です。
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"] = 26dic2["section3"] = 62println(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

