2016-12-03 2 views
1

в iex -S mix когда я псевдоним MyApp.Services.DoStuffПочему мое приложение ссылается дважды при использовании псевдонима в консоли?

Я вижу ответ MyApp.MyApp.Services.DoStuff

Который не кажется, чтобы позволить мне использовать мой модуль в консоли.

Мой модуль определен в lib/myapp/services/dostuff.ex

defmodule MyApp.Services.DoStuff do ...

+0

Можете ли вы назвать 'MyApp.Services.DoStuff.some_function' (для некоторого допустимого имени функции)? И что делает 'DoStuff.some_function' (для того же имени функции) после выполнения' alias'? – Dogbert

+0

@Dogbert Если я использую 'MyApp.Services.DoStuff.some_function', прежде чем использовать псевдоним, я получаю' MyApp.MyApp.Services.DoStuff' - неопределенный модуль недоступен. Если я тогда использую псевдоним, я получаю ту же ошибку –

+0

Просто прочитайте часть об псевдонимах Elixir и это похоже на «alias Elixir.MyApp.Services.DoStuff» позволит мне использовать мои функции в этом модуле, но я смущен, почему Мне нужно пространство имен с Elixir, когда псевдоним без пространства имен кажется, что я хочу импортировать 'MyApp.MyApp.Services.DoStuff'? –

ответ

1

Согласно комментариям Dogbert привели меня к осознанию того, что я случайно псевдонимами MyApp.MyApp в моем .iex.exs файле. Должно быть, из-за большого количества скопированных копий ...

Смежные вопросы