Press "Enter" to skip to content

Monad — FunFunFunction #21


хороший понедельник утром я MP J , и это
весело функция весело сегодня мы будем
исследовать монады монады — это тип func
дверь, чтобы вы знали, какой функтор
перед просмотром этого эпизода или его
не буду иметь смысла к счастью там
это эпизод забавной забавной функции для этого
в котором вы можете посмотреть здесь отказ от
много материала на
interwebs, говорящие о монадах , очень
придирчивый к деталям, говорящим о
точные законы Монады и то, как монада
реализован в haskell, и я думаю, что
делая это с таким уровнем детализации и
правильность заставит вас не
увидеть лес для всех деревьев, чтобы
мы не собираемся делать это в этом видео
вместо этого я попытаюсь заставить вас
ощущение того, что такое Моана, и как
он используется, поэтому наша цель здесь
заставите вас заставить Монаду не пытаться
каждая деталь права, потому что вы можете учиться
что позже, как только вы получите Монаду
так что это Моана
вы помните, что функтор
то, что реализует Mac, монада
более мощный функтор, который также
реализует плоскую карту, это главное
о Моане, которая задает вопрос
какая черта — плоская карта
что такое плоская карта для того, что является плоской
о плоской карте, прежде чем мы доберемся до того, что я
собираюсь показать вам немного кода
который использует потоки, если вы не
знакомый с потоками, есть ручная работа
эпизод, который вы можете посмотреть здесь, мы
использование бекона js в качестве нашей потоковой библиотеки
в этом примере, но потоки представляют собой потоки
все потоковые библиотеки аналогичны
функциональность, что вы видите в этом видео
будут применяться, например, к rxjs или
Хайленд или
действительно любая другая потоковая библиотека, которая
будет написано, позвольте мне просто запустить это для
показать, что он выводит, и мы начинаем
оттуда, поэтому он выводит кошачью муку и
труба онлайн тоже здесь мы создаем
автобус , который является самым основным типом
кричащий бекон- джаз на линии семь восемь
и девять мы нажимаем пару слов на
поток
эти слова печатаются здесь это
консольный журнал точек, который находится внутри этого
функция, которая передается как обратный вызов
функции к собственной функции значения
поток и эта функция называется
каждый раз, когда на
поток каждый раз, когда мы вызываем push
абсолютно ничего странного здесь
в эпизоде ​​потока мы узнали, что
потоки — это func-туры, и это означает
что мы можем их сопоставить, давайте сделаем это
в верхнем регистре каждого слова перед печатью
сопоставить слово «точка» в верхнем регистре BAM, и мы запускаем
этот отрезок будет громко трубить, что очень
полезны в мире предприятия, но давайте
скажем, что мы хотим использовать Google
Перевести API для перевода этих слов
на португальской стороне заметьте, я буду
выступая в Бразилии ,
крупнейшая конференция JavaScript в августе
давайте удалим этот код на данный момент и давайте
написать функцию, которая переводит
одно слово на португальский с помощью Google
Перевести API как хороший шеф-повар по телевизору
подготовил некоторый код, если вы посмотрите на
последние две строки здесь вы видите, что мы называем
получить португальский словом, а затем
вернет поток, который мы просто вызываем
на значение on и передать ему обратный вызов, который
будет печатать каждое слово, давайте запустим это
jefes да, мой португалец стесняется код
использования
сделать запрос в Google
Перевести API, если вы еще не знакомы
с тем, как принести работы я связала
хорошая статья в описании, что
поможет вам
fetch вернет обещание es6, но мы
работают с беконом js в нашем приложении, поэтому
мы хотим, чтобы наша функция возвращала бекон
поток, мы можем это сделать, пройдя
наше обещание бека от обещания, которое
вернет поток бекона, который мы
впоследствии возвращался в качестве возврата
значение функции, поэтому поток будет
теперь можно вернуть из этой функции и
мы вызываем значение на нем с обратным вызовом
слово, и теперь оно печатается, давайте попробуем
связать это вместе с автобусом, который
перед тем, как я хочу удалить это
собираемся добавить несколько строк здесь давайте
создать поток путем перерыва на облигациях let’s
нажмите несколько слов, и мы хотим напечатать
эти ценности, поэтому я собираюсь пойти
поток, а затем мы будем называть точкой
карте и для каждой карты, которую мы хотим сделать
каждая карта слов в порядке, и мы хотим
звоните на португальском языке для этого слова и
когда мы получим значение от того, что мы
хочу, чтобы консоль не вышла из системы
давайте запустим это и посмотрим, что произойдет
упс
похоже, что карта просто дает нам
отдельные элементы потока, на карте
давая нам это, и это не то, что мы
хотел, чтобы мы хотели перевести слова
функтор и карта вы нам не дали этого
где монада входит в нашу историю
снова монада — более мощный функтор
который также имеет плоскую карту плоской работы
как карта
но он также сгладит потоки до
вернуть значения, содержащиеся в
потоки, поэтому, если мы изменим код здесь, чтобы
используйте плоскую карту вместо карты, посмотрите, что
случается, мы получаем два RFA, как
официальная и тромбета из спальни бета
это не круто
какая плоская карта делает то, что она примет
обратный поток здесь из танка, который
происходит от получения португальского языка и
будет ждать этого результата
вы знаете, что он сглаживает ее в свое истинное слово
значение берет поток, сглаживающий его
в замкнутых системах значение слова , а затем
он передаст его на собственное значение
callback здесь позвольте мне изменить назад к карте
на секунду, чтобы дать вам, как
репетиция, и мы проводим с известным тестом да
что дает нам потоки снова и
это потому, что теперь здесь
Португальский , который вернет потоки и
карта будет просто взять их и передать их
на значение непосредственно он не будет выполнять
сглаживание потоков, тогда мы идем
вернуться к плоской карте и снова запустить ее
будет сглаживать потоки в значениях
содержащиеся в потоках, которые вы могли бы
слышали, что некоторые люди говорят, что
обещания — это монады, но здесь я говорю
что ах-монады — это вещи, которые реализуют
плоской карты и обещаний, которые у них нет
плоская карта им хорошо, они действительно
это просто не называется плоской картой, это
называемый тогда, и это один из тех
вещи, которые делают монады кажутся немного более
чем они на самом деле являются
на плоской карте есть много имен других имен
что вы, возможно , слышали или связывали и
цепи , но это та же идея , что это
такая же реализация — это вы
разные имена, которые вы можете увидеть
это в действии в выборке
реализация здесь ответ точка Jason
здесь это фактически не возвращает
литерал объекта , который вы могли бы ожидать , нет
это вернет обещание, которое затем
будет сглаживать его значение, проанализированное
объекта, и он передаст его
обратный вызов следующего, затем
это
поэтому синтаксический ответ здесь не будет
теперь это обещание
сглаженный в объектный литерал, который
как мы этого хотим, а затем мы можем позвонить
его индивидуальные свойства и экстракт
переведенный слово здесь теперь обратно к
поток
помните, что потоки являются функторами, поэтому мы
можете их сопоставить, давайте сделаем это, и мы просто
назовите слово на бумагу верхнего регистра, давайте запустим
что, как показать мелодию с де Гато, так в
резюме монада — это функтор, такой как поток
например, реализует плоскую карту в
дополнение к карте, которое все функторы
реализует плоскую карту, имеет то же самое
как карту, за исключением того, что
если обратный вызов передан на плоскую карту
возвращает монаду того же типа, что и вы
знать, если поток, если мы вызываем плоскую карту на
поток возвращает результирующую монаду, которая
Поток монада будет растянут в его
до того, как оно будет передано
и поэтому мы можем назвать карту
прямо на это и получить равную
Слово , которое мы можем прописные здесь это
все, что я получил
сделал это видео для вас
это видео заставит вас получить то , что монада
Я, скорее всего , сделать последующую деятельность в
это видео, пожалуйста, напишите ваши вопросы
и путаницы внизу, и я попробую
для решения проблемы
следующее видео , которое на самом деле
помоги мне, если ты это сказал
которые не пропустите этот эпизод в понедельник
утро
О, 800 GMT, если вам не хочется
ожидая, что долго вы сможете проверить это
плейлист здесь со всеми интересными развлечениями
функциональные эпизоды и посмотреть, что-то
щекочет ваше воображение во времени
Я mvj это забавная функция до тех пор, пока
следующий понедельник утром останется любопытным
Please follow and like us:

Be First to Comment

Добавить комментарий