Size: a a a

2020 May 16

PG

Pig Greenest in pro.elixir
Alexander Kladov
я понимаю, но почему не сделать именованную структуру, с префиксом модуля например, что позволило бы иметь несколько структур на модуль?
а зачем? ну делаешь вложенные модули и все
источник

AK

Alexander Kladov in pro.elixir
Vladimir Sekisov
1. для избежания конфликта
имен, чтобы отличить
вызов функции от вызова
лямбды в переменной
ага, понял, спасибо
источник

AK

Alexander Kladov in pro.elixir
Pig Greenest
а зачем? ну делаешь вложенные модули и все
про вложенные я не подумал, да
источник

AK

Alexander Kladov in pro.elixir
т.е. я могу объявить вложенный модуль, который будет просто структуру описывать и больше ничего не делать?
источник

PG

Pig Greenest in pro.elixir
да, то же с исключениями
источник

AK

Alexander Kladov in pro.elixir
а вложенные модули также по умолчанию экспортируются?
источник

PG

Pig Greenest in pro.elixir
вложенные модули это вообще фикция, у них просто имена с префиксом, с таким же успехом ты можешь их в другом файле объявить
источник

VS

Vladimir Sekisov in pro.elixir
2. у структур нет отдельного
пространства имен,
вся информация хранится
в модуле:
MyStruct.__struct__,
поэтому иметь несколько структур на модуль затруднительно
источник

AK

Alexander Kladov in pro.elixir
понял. спасибо большое за ответы
источник

PG

Pig Greenest in pro.elixir
3. обычно в файле только модуль или протокол и опционально имплементации
источник

AK

Alexander Kladov in pro.elixir
Pig Greenest
3. обычно в файле только модуль или протокол и опционально имплементации
а с чем это связано? почему иметь несколько на файл - плохая практика? чтобы файлы не разрастались?
источник

PG

Pig Greenest in pro.elixir
не знаю, возможно это просто принятый стиль кода
источник

PG

Pig Greenest in pro.elixir
как минимум так проще искать в каком файле модуль
источник

AK

Alexander Kladov in pro.elixir
понял, спасибо
источник

V

V in pro.elixir
Pig Greenest
ты не поверишь
да, тоже орнул
источник

GI

Gleb Ivanov in pro.elixir
У меня одного бомбит от Map.size/1 is deprecated. Use Kernel.map_size/1 instead?
источник

V

V in pro.elixir
Бомбить перестаёт когда понимаешь зачем это сделано.
Теперь есть length(list), tuple_size(tuple), map_size(map), bit_size(bitstring), byte_size(bitstring)
источник

V

V in pro.elixir
Котаны, кто работал с bamboo. Есть ли способ в  dev-режиме сохранять отправляемые письма на диск как eml-файлы? Или может есть какой-то другой способ посмотреть исходящие? Может быть есть способ научить bamboo работать с sendmail (sendmail легко подменяется на скрипт, сохраняющий исходящие в файлы)?
источник

T

Tharin in pro.elixir
Gleb Ivanov
У меня одного бомбит от Map.size/1 is deprecated. Use Kernel.map_size/1 instead?
Затем, что это часто употребимые вещи, которые проще и удобнее так вызывать.
источник

LL

Lama Lover in pro.elixir
Alexander Kladov
всем привет. только изучаю эликсир, возникли вопросы, если кто-то поможет разобраться буду рад.
1. лямбда вызывается через точку перед скобками. как я понял для того,  чтобы визуально отлично лямбду от обычной функции. а для чего это нужно отличать?
2. не понял с чем связано ограничение в объявлении 1 структуры для 1 модуля.
3. нормальная ли это практика иметь несколько модулей(или других единиц кода, типа протоколов, имплементаций протоколов) внутри одного файла?
3. Эликсир многое взял из эрланга, а в эрланге модуль = файл
источник