swiftのジェネリクスを使ってみる
// ジェネリクス関数 func swapAnyObject<T>(a:T, b:T){ print( a.dynamicType, b.dynamicType) } // ジェネリクス関数その2 // http://qiita.com/mini_house/items/73cefa9612d5c7680d7e より func myRepeat<ItemType>(item: ItemType, times: Int) -> [ItemType]{ var result = [ItemType]() for _ in 0...times { result.append(item) } return result } // 型制約の例 Tを Equatable protocol を採用したクラスに制限している // http://qiita.com/mini_house/items/73cefa9612d5c7680d7e より func findIndex<T: Equatable>(array: [T], valueToFind: T) -> Int? { for (i,v) in array.enumerate() { if v == valueToFind { return i } } return nil }