Комментарии 5
А почему вы ни разу не упомянули defprotocol http://elixir-lang.org/docs/stable/elixir/Kernel.html#defprotocol/2; http://elixir-lang.org/getting-started/protocols.html и не сравнили их?
Мне кажется, стоило бы.
Мне кажется, стоило бы.
Скорее всего потому, что это перевод. Впрочем, возможно я переведу следующую статью автора Protocols vs Behaviours
Ой, пардон. Не приметил.
Впрочем, я бы не сказал, что товарищ пишет достаточно внятно: например, отсутствие заявленной имплементации приведет всего лишь к warning’у времени компиляции, об этом уж точно стоило бы упомянуть.
Ну и в следующей статье разделение довольно условное, опять же главное (имплементация протокола однаЮ из-за консолидации, а behaviour’ов — сколько угодно) снова не упомянуто.
Впрочем, я бы не сказал, что товарищ пишет достаточно внятно: например, отсутствие заявленной имплементации приведет всего лишь к warning’у времени компиляции, об этом уж точно стоило бы упомянуть.
Ну и в следующей статье разделение довольно условное, опять же главное (имплементация протокола однаЮ из-за консолидации, а behaviour’ов — сколько угодно) снова не упомянуто.
В первом примере когда использования парсера ошибка — @default_renderer вместо @default_parser. Ну и опечатка в предложении выше. За перевод спасибо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Elixir: делаем код расширяемым с помощью Behaviour