Size: a a a

2020 September 03

LL

Lama Lover in pro.elixir
А так, да, процесс создаётся функцией mph_drop
источник

EP

Eugene Panin in pro.elixir
да, это я понимаю - я просто не знал что функция может поменяться внутри текущего процесса
источник

EP

Eugene Panin in pro.elixir
я думал для этого надо создавать еще один процесс
источник

LL

Lama Lover in pro.elixir
Eugene Panin
да, это я понимаю - я просто не знал что функция может поменяться внутри текущего процесса
Внутри процесса исполняются функции
Сначала ты создал процесс который исполняет mph_drop
Он создал ещё один процесс (3 строка)
И вызвал convert (4 строка)
Внутри convert он встал в receive (8 строка)
источник

EP

Eugene Panin in pro.elixir
понятно. получается mph_drop - это некий инициализатор который создает что нужно и дальше передает управление другой функции модуля?
источник

EP

Eugene Panin in pro.elixir
то есть после convert(drop_pid) - я теряю контекст самой функции mph_drop?
источник

AB

Alex Bubnov in pro.elixir
Eugene Panin
то есть после convert(drop_pid) - я теряю контекст самой функции mph_drop?
что значит "контекст"?
источник

EP

Eugene Panin in pro.elixir
Alex Bubnov
что значит "контекст"?
Ок, drop_pid - его значение после того как передалось в функцию convert/1.  Возможно я неверно выразился, я просто не понял как спаунился процесс с функцией mph_drop, а в итоге он стал с функцией convert. Не знал что так можно вот и озадачился.
источник

AB

Alex Bubnov in pro.elixir
Eugene Panin
Ок, drop_pid - его значение после того как передалось в функцию convert/1.  Возможно я неверно выразился, я просто не понял как спаунился процесс с функцией mph_drop, а в итоге он стал с функцией convert. Не знал что так можно вот и озадачился.
написано - current function.
источник

AB

Alex Bubnov in pro.elixir
current implies "что-то меняющееся во времени"
источник

EP

Eugene Panin in pro.elixir
Ок. Спасибо.
источник

V

VDimir in pro.elixir
Eugene Panin
то есть после convert(drop_pid) - я теряю контекст самой функции mph_drop?
Не уверен что правильно понял что понимается под контекстом, но можно мыслить что ‘контекст’ вкладывается в новый при вызове функции, как матрешки. При возврате снова развернется и вы окажитесь в предыдущем.
источник

EP

Eugene Panin in pro.elixir
я знал что не нужно употреблять это слово... извиняюсь
источник

EP

Eugene Panin in pro.elixir
по сути мне ответили - если породить професс с функцией, которая внутри себя вызывает другую функцию, то вызываемая функция замещает текущуу в этом процессе - все верно?
источник

V

VDimir in pro.elixir
Употреблять можно, просто термин очень многозначный )
источник

V

VDimir in pro.elixir
Eugene Panin
по сути мне ответили - если породить професс с функцией, которая внутри себя вызывает другую функцию, то вызываемая функция замещает текущуу в этом процессе - все верно?
Ну потом же можно вернуться, не окончательно замещает
источник

EP

Eugene Panin in pro.elixir
VDimir
Ну потом же можно вернуться, не окончательно замещает
если внутри convert/1 так же вызвать mph_drop/0?
источник

V

VDimir in pro.elixir
Нет, когда выполнение convert доедет до конца. В примере выше convert бексконечно вызывает себя рекурсивно, но например если была бы ветка с выходом. Или если будет брошено исключение
источник

EP

Eugene Panin in pro.elixir
А, ну вот теперь все понятно - я просто привязался к текущему примеру и не увидел там возврата. Спасибо )
источник

AB

Alex Bubnov in pro.elixir
а что, в роутах феникса : вообще никак в принципе не эскейпится?..
источник