The Swift Programming Language / Swift язык программирования - Книга на русском: Functions and Closures
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Используйте funt для объявления функций. Для того чтобы вызвать функцию используйте её имя вместо со списком WRS 12.07.16 в 06:37 |
|
|
аргументов в скобках. Используйте -> для отделения аргументов и типов от WRS 12.07.16 в 06:39 |
||
|
типа возвращаемой функции. WRS 12.07.16 в 06:39 |
||
|
1 func greet(name: String, day: String) -> String { keo82 05.06.14 в 08:45 |
||
|
2 return "Hello \(name), today is \(day)." keo82 05.06.14 в 08:45 |
+1 | |
|
3 } keo82 05.06.14 в 08:45 |
||
|
4 greet("Bob", "Tuesday") keo82 05.06.14 в 08:45 |
||
|
ЭСКСПЕРИМЕНТ keo82 05.06.14 в 08:45 |
||
|
Используйте таплы для возвращения множество значений из функции. WRS 12.07.16 в 06:47 |
||
|
1 func getGasPrices() -> (Double, Double, Double) { keo82 05.06.14 в 08:45 |
||
|
2 return (3.59, 3.69, 3.79) keo82 05.06.14 в 08:45 |
||
|
3 } keo82 05.06.14 в 08:45 |
||
|
4 getGasPrices() keo82 05.06.14 в 08:46 |
||
|
Функции также могут принимать неопределенное значение аргументов, образуя из них массив. WRS 12.07.16 в 06:41 |
||
|
1 func sumOf(numbers: Int...) -> Int keo82 05.06.14 в 08:46 |
||
|
2 var sum = 0 keo82 05.06.14 в 08:46 |
||
|
3 for number in numbers { keo82 05.06.14 в 08:46 |
||
|
4 sum += number5 } keo82 05.06.14 в 08:46 |
||
|
6 return sum keo82 05.06.14 в 08:46 |
||
|
7 } keo82 05.06.14 в 08:46 |
||
|
8 sumOf() keo82 05.06.14 в 08:46 |
||
|
9 sumOf(42, 597, 12) keo82 05.06.14 в 08:46 |
||
|
ЭКСПЕРИМЕНТ keo82 05.06.14 в 08:46 |
||
|
Напишите функцию, которая вычисляет среднее из аргументов. WRS 12.07.16 в 06:48 |
||
|
Функция может быть вложена. Вложенные функции имеют доступ к переменным, которые объявлены WRS 12.07.16 в 06:49 |
||
|
во внешней функции. Вы можете использовать вложенные функции для удобства в WRS 12.07.16 в 06:52 |
||
|
длинных или сложных функциях. WRS 12.07.16 в 06:52 |
||
|
1 func returnFifteen() -> Int { keo82 05.06.14 в 08:47 |
||
|
2 var y = 10 keo82 05.06.14 в 08:47 |
||
|
3 func add() { keo82 05.06.14 в 08:47 |
||
|
4 y += 5 keo82 05.06.14 в 08:47 |
||
|
5 } keo82 05.06.14 в 08:47 |
||
|
6 add() keo82 05.06.14 в 08:47 |
||
|
7 return y keo82 05.06.14 в 08:47 |
||
|
8 } keo82 05.06.14 в 08:47 |
||
|
9 returnFifteen() keo82 05.06.14 в 08:47 |
||
|
1 func makeIncrementer() -> (Int -> Int) { keo82 05.06.14 в 08:47 |
||
|
2 func addOne(number: Int) -> Int { keo82 05.06.14 в 08:48 |
||
|
3 return 1 + number keo82 05.06.14 в 08:48 |
||
|
4 } keo82 05.06.14 в 08:48 |
||
|
5 return addOne keo82 05.06.14 в 08:48 |
||
|
6 } keo82 05.06.14 в 08:48 |
||
|
7 var increment = makeIncrementer()8 increment(7) keo82 05.06.14 в 08:48 |
||
|
1 func hasAnyMatches(list: Int[], condition: Int -> Bool) -> Bool { keo82 05.06.14 в 08:48 |
||
|
2 for item in list { keo82 05.06.14 в 08:48 |
||
|
3 if condition(item) { keo82 05.06.14 в 08:48 |
