2016-12-03 1 views
1

dans iex -S mix quand je fais alias MyApp.Services.DoStuffPourquoi mon application est-elle référencée deux fois lors de l'utilisation d'un alias dans la console?

Je vois une réponse de MyApp.MyApp.Services.DoStuff

Ce qui ne semble pas me laisser utiliser mon module dans la console.

Mon module est défini dans lib/myapp/services/dostuff.ex

defmodule MyApp.Services.DoStuff do ...

+0

Êtes-vous capable d'appeler 'MyApp.Services.DoStuff.some_function' (pour un nom de fonction valide)? Et que dit 'DoStuff.some_function' (pour le même nom de fonction) après avoir fait le' alias'? – Dogbert

+0

@Dogbert Si je fais 'MyApp.Services.DoStuff.some_function' avant d'utiliser l'alias, j'obtiens 'MyApp.MyApp.Services.DoStuff' est un module non défini non disponible. Si j'utilise ensuite alias, je reçois la même erreur –

+0

Il suffit de lire la partie sur l'alias Elixir et il ressemble à 'alias Elixir.MyApp.Services.DoStuff' me permettra d'utiliser mes fonctions dans ce module, mais je suis confus pourquoi J'ai besoin de namespace avec Elixir quand l'alias sans espace de nom semble penser que je veux importer 'MyApp.MyApp.Services.DoStuff'? –

Répondre

1

Selon les commentaires Dogbert m'a conduit à réaliser que j'avais accidentellement aliasé MyApp.MyApp dans mon dossier .iex.exs. Doit avoir été dû à beaucoup de copier coller ...