
Комментарии 17
Честно говоря мне тоже показалось, что статья не очень оправдывает свое название. Я постараюсь в следующий раз быть более избирательным при выборе статьи для перевода. Мне не приятно осознавать, что я потратил зря ваше время. Спасибо за критику.
При этом, как пример программирования Elixir, статья хорошая. Потому что на конкретном примере понять легче. Раскрыты многие темы: матчинг функций по параметрам, guards, циклы через рекурсию, агенты, pipeline. Вообще, конечно, вопросы есть по необходимости их применения. Но автор оригинального текста новичек. Так же хочу заметить, что, как мне кажется, автор ошибся с организацией приложения. Он сделал модуль, в котором все вместе, и который он запускает и в нем же все проверяет. А надо было сделать приложение, в нем модуль, который понимает строку такого вида и отвечает на эту строку. Проверку нужно было сделать через юнит тестирование.
Достаточно название выбрать более подходящее. Статья очень хорошая для тех, кто делает или планирует делать первые шаги в элексире.
Спасибо, внес правки.
Не могли бы вы указывать ссылку, например на Википедию, когда указываете чье-то мнение.
В Getting started guide на странице Sigils в синтаксисе для регулярных выражений используется
~r//как и в статье. Поэтому оставил как есть.
acc ^^^ Bitwise.band(n, 1)изменил наacc ^^^ (n &&& 1)— этого не было в оригинальной статье, добавил комментарий об этом.
Regex.runзаменил наRegex.scan+List.flatten. Честно говоря, так и было в оригинальной статье, я напрасно позволил себе что-то менять.
Про агенты — ну давайте все же будем снисходительны. Это далеко не худший способ написать простое хранилище стейта с синхронизированным доступом и несложной логикой.
Либо предсказуемый эксепшн про несуществующий процесс, либо мне вернут nil прекрасные разработчики stdlib. Либо там наворотили что-то совсем невероятное, и тогда я сдаюсь.
Вообще, это выглядит вполне обычной проблемой — обычный gen_server поведет себя точно так же.
Заглянул. Ничего там особенного, обычный noproc вылетит, вполне предсказуемо.
Всегда давайте имена своим агентам!
Отлично, просто отлично. С учетом отсутствия в эрланге нормального встроенного регистратора это очень интересное предложение.
Вообще, знаете, я вот смотрю на переводные посты про Elixir, смотрю в /r/elixir, и это все какой-то ад. Полезных постов незначительно больше нуля.
Техники в Elixir для начинающих: Метод проб и ошибок (перевод)