The Swift Programming Language / Swift язык программирования - Книга на русском: Generics
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
||
|
1 func repeat<ItemType>(item: ItemType, times: Int) -> ItemType[] { andreysolov 05.06.14 в 09:15 |
||
|
2 var result = ItemType[]() andreysolov 05.06.14 в 09:16 |
||
|
3 for i in 0..times { andreysolov 05.06.14 в 09:16 |
||
|
4 result += item andreysolov 05.06.14 в 09:16 |
||
|
5 } andreysolov 05.06.14 в 09:16 |
||
|
6 return result andreysolov 05.06.14 в 09:16 |
||
|
7 } andreysolov 05.06.14 в 09:16 |
||
|
8 repeat("knock", 4) andreysolov 05.06.14 в 09:16 |
||
|
2 enum OptionalValue<T> { andreysolov 05.06.14 в 09:16 |
||
|
3 case None andreysolov 05.06.14 в 09:16 |
||
|
4 case Some(T) andreysolov 05.06.14 в 09:16 |
||
|
5 } andreysolov 05.06.14 в 09:17 |
||
|
6 var possibleInteger: OptionalValue<Int> = .None andreysolov 05.06.14 в 09:17 |
||
|
7 possibleInteger = .Some(100) andreysolov 05.06.14 в 09:17 |
||
|
1 func anyCommonElements <T, U where T: Sequence, U: Sequence, T.GeneratorType.Element: Equatable, andreysolov 05.06.14 в 09:17 |
||
|
T.GeneratorType.Element == U.GeneratorType.Element> (lhs: T, rhs: U) -> Bool { andreysolov 05.06.14 в 09:17 |
||
|
2 for lhsItem in lhs { andreysolov 05.06.14 в 09:17 |
||
|
3 for rhsItem in rhs { andreysolov 05.06.14 в 09:17 |
||
|
4 if lhsItem == rhsItem {5 return true andreysolov 05.06.14 в 09:17 |
||
|
6 } andreysolov 05.06.14 в 09:17 |
||
|
7 } andreysolov 05.06.14 в 09:17 |
||
|
8 } andreysolov 05.06.14 в 09:17 |
||
|
9 return false andreysolov 05.06.14 в 09:17 |
||
|
} andreysolov 05.06.14 в 09:17 |
||
|
anyCommonElements([1, 2, 3], [3]) andreysolov 05.06.14 в 09:17 |
||
