в iex -S mix
когда я псевдоним MyApp.Services.DoStuff
Почему мое приложение ссылается дважды при использовании псевдонима в консоли?
Я вижу ответ MyApp.MyApp.Services.DoStuff
Который не кажется, чтобы позволить мне использовать мой модуль в консоли.
Мой модуль определен в lib/myapp/services/dostuff.ex
defmodule MyApp.Services.DoStuff do ...
Можете ли вы назвать 'MyApp.Services.DoStuff.some_function' (для некоторого допустимого имени функции)? И что делает 'DoStuff.some_function' (для того же имени функции) после выполнения' alias'? – Dogbert
@Dogbert Если я использую 'MyApp.Services.DoStuff.some_function', прежде чем использовать псевдоним, я получаю' MyApp.MyApp.Services.DoStuff' - неопределенный модуль недоступен. Если я тогда использую псевдоним, я получаю ту же ошибку –
Просто прочитайте часть об псевдонимах Elixir и это похоже на «alias Elixir.MyApp.Services.DoStuff» позволит мне использовать мои функции в этом модуле, но я смущен, почему Мне нужно пространство имен с Elixir, когда псевдоним без пространства имен кажется, что я хочу импортировать 'MyApp.MyApp.Services.DoStuff'? –