Size: a a a

2020 February 11

SP

Sergey Prokhorov in ErlangRus
часто код перезагружать не стоит. Там же глобальный GC делается при выгрузке
источник

DZ

Danil Zagoskin in ErlangRus
Evgeny M.
никаких проблем не появится, если с умом :)
сейчас еще попробую генерить в функции обычный fun без ссылки на модуль и передавать его через spawn, но не в шелле
Ты же знаешь про то, что purge модуля крешит все процессы со старыми лямбдами?
источник

SP

Sergey Prokhorov in ErlangRus
^ а, ни у плюс это тоже, да
источник

AK

Aleksey Kluchnikov in ErlangRus
Danil Zagoskin
Удобно как коллбек передать — способ логирования, например
Колбеки передаваемые тоже могут поесть нервов при дебаге
источник

AK

Aleksey Kluchnikov in ErlangRus
Aleksey Kluchnikov
Колбеки передаваемые тоже могут поесть нервов при дебаге
хочешь логировать логируй без колбеков :)
источник

DZ

Danil Zagoskin in ErlangRus
Aleksey Kluchnikov
Колбеки передаваемые тоже могут поесть нервов при дебаге
Именно в виде fun M:F/2 — нет, они отлично читаются глазами
источник

s

snakeduse in ErlangRus
Andrey Velikiy
могу ошибаться, но скорее всего через оверлеи. это если при компиляции надо шаблонизировать. при исполнении - в зависимости от версии экстендед скрипта (читай: ребарв)
Спасибо. Через оверлей работает, просто думал, ребар из коробки это понимает.
источник

AK

Aleksey Kluchnikov in ErlangRus
Danil Zagoskin
Именно в виде fun M:F/2 — нет, они отлично читаются глазами
там где создаются, а там где выполняются не читаются
источник

AV

Andrey Velikiy in ErlangRus
snakeduse
Спасибо. Через оверлей работает, просто думал, ребар из коробки это понимает.
так оно и из коробки. просто по дефолту просто копируется, без шаблонизатора
источник

AK

Aleksey Kluchnikov in ErlangRus
Aleksey Kluchnikov
там где создаются, а там где выполняются не читаются
Лучше уж макрос
источник

DZ

Danil Zagoskin in ErlangRus
Aleksey Kluchnikov
там где создаются, а там где выполняются не читаются
Поясни, пожалуйста.
В крешрепортах и в sys:get_state у меня всё норм с ними
источник

AK

Aleksey Kluchnikov in ErlangRus
А же бывает как, летит по функциям масив кабеков и гдето выполняется. Тоесть видно что массив видно что калбеков, а что внутри иди ищи, как оно собирается
источник

EM

Evgeny M. in ErlangRus
вот так вот уже не работает, test:b(1) -  ошибка

-module(test).
-export([a/0, b/1]).

a() -> fun(X) -> erlang:display(X) end.

b(X) ->  spawn('a@boss', a(), [X]).
источник

DZ

Danil Zagoskin in ErlangRus
Aleksey Kluchnikov
А же бывает как, летит по функциям масив кабеков и гдето выполняется. Тоесть видно что массив видно что калбеков, а что внутри иди ищи, как оно собирается
Из любой идеи можно сделать говно, если абьюзить её. Я, кажется, не об этом писал.
источник

PG

Pïg Grëënëst in ErlangRus
Evgeny M.
вот так вот уже не работает, test:b(1) -  ошибка

-module(test).
-export([a/0, b/1]).

a() -> fun(X) -> erlang:display(X) end.

b(X) ->  spawn('a@boss', a(), [X]).
Андеф?
источник

a

arikai in ErlangRus
Aleksey Kluchnikov
А же бывает как, летит по функциям масив кабеков и гдето выполняется. Тоесть видно что массив видно что калбеков, а что внутри иди ищи, как оно собирается
JS покусал?
источник

EM

Evgeny M. in ErlangRus
Pïg Grëënëst
Андеф?
(b@boss)1> c(test).
{ok,test}
(b@boss)2> net_adm:ping('a@boss').
pong
(b@boss)3> test:b(1).
** exception error: bad argument
    in function  spawn/3
       called as spawn(a@boss,#Fun<test.0.43764494>,[1])
    in call from test:b/1 (test.erl, line 6)
источник

EM

Evgeny M. in ErlangRus
на второй ноде модуля вообще нет
источник

EM

Evgeny M. in ErlangRus
никакой версии
источник

AK

Aleksey Kluchnikov in ErlangRus
Danil Zagoskin
Из любой идеи можно сделать говно, если абьюзить её. Я, кажется, не об этом писал.
Это все стиль. Если сам пишешь и помнишь где какие калбеки, то хорошо. А если кто то другой читает код, то с калбеками трудно. Проще когда где пишется там и делается. И на прктике практически всегда можно обойтись без калбеков, чуть больше кода, но зато явного и по месту
источник