在 IEX 中为 module/namepsace 的所有内容设置别名
Alias all contents of a module/namepsace in IEX
遵循 中有关如何使用当前项目的依赖项加载 iex 的建议,我能够以非常高效的方式使用 phoenix 框架依赖项。但是,必须为每一件事提供 Phoenix 项目的命名空间,这有点乏味。
我希望能够输入 Repo.all(User)
而不是输入 MyApp.Repo.all(MyApp.User)
。我可以用 alias MyApp.Repo, as: Repo
为每件事单独添加别名,但是有什么办法可以同时为所有事情做这个吗?
您可以简单地调用 alias MyApp.Repo
而不是 MyApp.Repo, as: Repo
— 它会使用模块名称的最后一部分。
在 Elixir 1.2 中,您可以通过一次调用将多个子模块别名为它们自己的名称:alias MyApp.{Repo, User}
您还可以选择 .iex.exs
文件来设置您的别名(根据 the IEx docs)。在这种情况下我不推荐它,因为你 运行 有命名冲突的风险。在 iex 会话中调用 alias
更明确。
遵循
我希望能够输入 Repo.all(User)
而不是输入 MyApp.Repo.all(MyApp.User)
。我可以用 alias MyApp.Repo, as: Repo
为每件事单独添加别名,但是有什么办法可以同时为所有事情做这个吗?
您可以简单地调用 alias MyApp.Repo
而不是 MyApp.Repo, as: Repo
— 它会使用模块名称的最后一部分。
在 Elixir 1.2 中,您可以通过一次调用将多个子模块别名为它们自己的名称:alias MyApp.{Repo, User}
您还可以选择 .iex.exs
文件来设置您的别名(根据 the IEx docs)。在这种情况下我不推荐它,因为你 运行 有命名冲突的风险。在 iex 会话中调用 alias
更明确。