Size: a a a

2020 July 13

ŹR

Źmićer Rubinštejn in pro.elixir
Просто интересна логика: вот я разбиваю модуль на два, и в одном делаю require другого - как появляется такая мысль?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
require позволяет использовать макросы из другого модуля.

К примеру: есть logger, внутри него есть defmacro. Чтобы вызвать этот defmacro в другом модуле - надо сделать require logger
источник

МБ

Максим Барулин... in pro.elixir
согласен, странная мысль, понедельник 13
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Тут нету никаких defmacro, и после require ты нигде не вызываешь функции из required модуля
источник

МБ

Максим Барулин... in pro.elixir
получается кроме use нет вариантов воткнуть содержимое одного модуля внутрь другого?
источник

LL

Lama Lover in pro.elixir
Максим Барулин
получается кроме use нет вариантов воткнуть содержимое одного модуля внутрь другого?
А зачем втыкать содержимое? Для функций можно использовать import
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Максим Барулин
получается кроме use нет вариантов воткнуть содержимое одного модуля внутрь другого?
Тебя это удивляет? Попробуй в любом языке написать класс более чем в одном файле. В Java/ C# есть partial, но это все ещё не более одного способа так сделать
источник

ŹR

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

МБ

Максим Барулин... in pro.elixir
Lama Lover
А зачем втыкать содержимое? Для функций можно использовать import
чтобы сваггер находил доку. он перебирает контроллеры и ищет там свои макросы
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Максим Барулин
чтобы сваггер находил доку. он перебирает контроллеры и ищет там свои макросы
Он не ищет макросы. Макросы на этапе компиляции заносят в этот модуль что-то, что потом ищет сваггер.
источник

МБ

Максим Барулин... in pro.elixir
Źmićer Rubinštejn
Он не ищет макросы. Макросы на этапе компиляции заносят в этот модуль что-то, что потом ищет сваггер.
ну да, это я и имел в виду
источник

ŹR

Źmićer Rubinštejn in pro.elixir
И так как ты понятия не имеешь ЧТО именно эти макросы делают, ты не можешь так просто импортировать и надеятся что все заработает
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Да и все равно - если ты импортируешь функцию, то ты ее просто вводишь в область видимости. А вовсе не копируешь в свой модуль
источник

МБ

Максим Барулин... in pro.elixir
ясно, в общем using - единственный вариант
источник

МБ

Максим Барулин... in pro.elixir
нипилю issue в либу
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вот к примеру - сваггер будет искать функцию MyController.get_swag()

Если написать

defmodule MyController do
 import MyControllerSwaggerDefinitions, only: [get_swag: 0]
end


То у этого модуля никогда не будет этой функции
источник

МБ

Максим Барулин... in pro.elixir
да, я уже понял
источник

AD

Anastasiya Dyachenko in pro.elixir
Alexey Bolshakov
Класс. Можно скрин?
все-таки не так как я говорила работает, подсвечивает по другому только в случае когда это аргумент функции
источник

AD

Anastasiya Dyachenko in pro.elixir
Alexey Bolshakov
Класс. Можно скрин?
источник

AD

Anastasiya Dyachenko in pro.elixir
Alexey Bolshakov
Класс. Можно скрин?
источник