プログラマメモ2 - programmer no memo2

[Swift]タプルの練習 2015/05/09

Swiftです。気になるのはタプル!

// (1) タプルから値取得 let tup = (1, "two") let atup = (a:1, b:"two") println("\(tup.0), \(tup.1)") // 1, two println("\(atup.a), \(atup.b)") // 1, two // (2) タプルを引数として渡す func a(a:Int, b:String) { println("a:\(a), b:\(b)") } a(tup) // a:1, b:two // (3) タプルを引数として渡すさいに、名前付きのタプルだとコンパイルできない場合があるケース // 以下はコンパイルできない // error: missing argument for parameter #2 in call // let atup = (a:1, b:"two") // a(atup) // // (4) (3)は違いうまくいく場合、関数の引数に名前がついてるから? func a2(#a:Int, #b:String) { println("a:\(a), b:\(b)") } // a2(tup) error: missing argument for parameter 'b' in call a2(atup) // OK // (5) ジェネリックで型 func a3<T1, T2>(#a:T1, #b:T2) { println("a:\(a), b:\(b)") } // a2(tup) // error: missing argument for parameter 'b' in call a2(atup) // OK

: