Pull to refresh

Comments 9

UFO just landed and posted this here

Так а о чем статья-то? О методах работы с коллекциями? О монадах? map vs flatMap? Не нашел ни описания что такое функтор, что такое монада… Не хватило чего-то, в общем.

Начал писать статью, как туториал по использованию опциональных типов в качестве монад, поскольку обнаружил, что очень многие iOS разработчики не знают об удобствах такого использования. Но не хватило времени хорошо и стройно оформить, в итоге она пролежала в черновиках месяц и я решил, что лучше выпустить хоть то, что есть, чем бесконечно откладывать. Так что, отвечая на ваш вопрос, статья приводит примеры некоторых возможностей коллекций и опциональных типов о которых не все знают, но которые бывают полезны.
Удобно-то удобно, только вот в реалиях нынешней поддержки Swift пользоваться всем этим накладно.
Особенно в Xcode, где и время компиляции не растет при использовании кложуров, и подсветка синтаксиса с автокомплитом ломаются.
Использую Xcode 8.2.1 и в нём не заметил тормозов при использовании замыканий. Предполагаю, что тормоза начинаются при повсеместном применении реактивного программирования, потому что Swift очень долго инферит типы
Int не может, но Swift может многое
let formatter = NumberFormatter()
formatter.numberStyle = .spellOut
formatter.locale = Locale(identifier: «RU»)
let a = formatter.number(from: «сорок два»)
// 42

Серьёзно? При чём тут свифт? Это NSNumberFormatter может при использовании NSNumberFormatterSpellOutStyle.
Вы говорите об Objective-C, который в свою очередь базируется на C, как глубоко мы будем копать? Кусок кода, который написан в моем примере, написан на Swift.
непонятно, Вы пишите
FlatMap работает почти так же, с той лишь разницей, что результат работы flatMap может возвращать nil, а map не может

но выше пример возвращает nil
let greeting = name.map { "Hello " + $0 + "!" } // nil

как это понимать?

у map результат работы кложуры не может вернуть nil, но сам map принимает Optional, и если этот Optional - nil, то и map вернёт nil

Sign up to leave a comment.

Articles

Change theme settings