Форум программистов, компьютерный форум, киберфорум
Наши страницы
Swift
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Megas781
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 12
#1

Чем отличается Замыкание от Функции в Swift 3.0

27.11.2016, 14:08. Просмотров 1419. Ответов 5

Смотрел много видео по замыканиям. Все в голос говорят:"Да , замыкание очень похоже на функцию", но хоть убей, не понимаю , чем они отличаются. Что я могу сделать с замыканием , чего не могу с функцией? И наоборот, какие есть особенности у функции? Буду очень благодарен за ответ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2016, 14:08
Ответы с готовыми решениями:

Возведение в квадрат и другие математические функции в Swift 3.0
Ребята, подскажите, как возвести в квадрат число в языке Swift? А то не могу...

Чем отличается определение функции от прототипа?
чем отличается определение функции от прототипа? и где писать определение?

Чем фунция delphi date отличается от функции now?
Обе же вроде возвращают одно и то же.

Чем отличается вызов функции(sub) c параметром call от обычного вызова?
Чеи отличается вызов функции(sub) c параметром call от обычного вызова ...

Hp Pavilion DV6000 (DA0AT1MB8F1) - О чем говорит жужжание ноута при зарядке? Замыкание?
Здравствуйте. hp pavilion dv6000 попал в "кривые руки знакомого" который...

5
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
01.12.2016, 04:34 #2
нельзя объявить generic замыкание, например ))

а вообще, функции - именованные замыкания и некоторые являются частным случаем замыканий)

отличный способ в чем-то разобраться, это прочитать официальную документацию
https://developer.apple.com/library/.../Closures.html

Global and nested functions, as introduced in Functions, are actually special cases of closures. Closures take one of three forms:

* Global functions are closures that have a name and do not capture any values.
* Nested functions are closures that have a name and can capture values from their enclosing function.
* Closure expressions are unnamed closures written in a lightweight syntax that can capture values from their surrounding context.
0
igor_ol
0 / 0 / 0
Регистрация: 29.12.2016
Сообщений: 2
29.12.2016, 11:57 #3
отличия собственно в следующем, функция возвращает значение только один раз и только в рамках одного потока, а в замыкании можно выполнить действие в отдельном потоке и из него вернуть значение.
0
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
29.12.2016, 12:05 #4
Цитата Сообщение от igor_ol Посмотреть сообщение
а в замыкании можно выполнить действие в отдельном потоке и из него вернуть значение.
лол что?
0
igor_ol
0 / 0 / 0
Регистрация: 29.12.2016
Сообщений: 2
29.12.2016, 15:43 #5
Передаём функцию в качестве аргумента замыкания, выполняем какой либо код в бэкграунде и в основном потоке вызываем переданную функцию.
0
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
29.12.2016, 22:20 #6
igor_ol, и где тут отличие функции от замыкания?

это обычная передача функции в качестве аргумента
0
29.12.2016, 22:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2016, 22:20

Чем отличается this от *this?
Привет всем ! вот код template<typename Key, typename Value> Dictionary<Key,...

Чем отличается =- от -=
Только подробно опишите пожалуйста,у меня из-за этого программа в циклах не...

Чем отличается if от (?:)
Здравствуйте. Почитываю С++, сам программирую в Делфи. Вот немного запутался. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru