Size: a a a

2020 August 13

ŹR

Źmićer Rubinštejn in pro.elixir
Мне кажется лучше чем defdelegate не получится
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Можно в макросы запихупить
источник

VK

Vyacheslav Konovalov in pro.elixir
Źmićer Rubinštejn
Зачем так надо делать?
модуль на элексире вызывает методы модуля на ерланге, не знаю зачем так сделано)
источник

LL

Lama Lover in pro.elixir
Vyacheslav Konovalov
модуль на элексире вызывает методы модуля на ерланге, не знаю зачем так сделано)
методы функции
Не надо никаких defdelegate
"наследование" лучше реализовывать через __using__ с defoverride
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Vyacheslav Konovalov
модуль на элексире вызывает методы модуля на ерланге, не знаю зачем так сделано)
Да,  defdelegate идеально
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Сто раз так делал
источник

VK

Vyacheslav Konovalov in pro.elixir
Źmićer Rubinštejn
Да,  defdelegate идеально
ок, спасибо
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Lama Lover
методы функции
Не надо никаких defdelegate
"наследование" лучше реализовывать через __using__ с defoverride
Фишка в том, что ты не можешь сделать __using__ внутри эрланга)
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Фишка в том, что ты не можешь сделать __using__ внутри эрланга)
А почему бы сразу не вызывать функции из модуля эрланга?...
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Lama Lover
А почему бы сразу не вызывать функции из модуля эрланга?...
Ну к примеру есть у тебя КВ на эрланге, у него АПИ - set и get
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ты пишешь

defmodule KV do

   defdelegate set: to :erlang_kv
   …

end
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вот хочешь ты обернуть, мало ли почему
источник

ŹR

Źmićer Rubinštejn in pro.elixir
defdelegate не добавляет в стек вызовов еще одну функцию, после компиляции выглядит как сразу прямой вызов того модуля, на сколько я понимаю
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Это еще норм… Мне приходилось писать в обратную сторону

set(K, V) -> ‘Elixir.KV’:set(K,V).

Вот это вот веселье
источник

ŹR

Źmićer Rubinštejn in pro.elixir
И ни о каком чистом стеке речи не идет
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
Это еще норм… Мне приходилось писать в обратную сторону

set(K, V) -> ‘Elixir.KV’:set(K,V).

Вот это вот веселье
для такого, ящитаю, нужно забивать на эликсировскую конвенцию именования модулей и называть их просто атомами
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
defdelegate не добавляет в стек вызовов еще одну функцию, после компиляции выглядит как сразу прямой вызов того модуля, на сколько я понимаю
Вообще-то добавляет...
Когда я последний раз смотрел, defdelegate просто генерил доку и спеку к обёртке
источник

LL

Lama Lover in pro.elixir
Не добавлял бы, если бы был @compile {:inline, ...}
источник

T

Tharin in pro.elixir
Lama Lover
А как это бэкендеры не умеют верстать? Что они вообще умеют тогда?
получать кэш
источник

T

Tharin in pro.elixir
источник