是否可以启动交互式长生不老药外壳并立即调用函数



在elixir中,你可以通过以下命令将iex shell与应用程序的上下文一起使用...

iex -S mix

这个命令非常方便,让我们可以在交互式 shell 中使用应用程序函数。

我想知道是否可以使用参数启动交互式 shell,或者是否可以让您的应用程序在用户可以与 shell 交互之前调用一些函数。

例如,假设我有一个名为 MyApp 的应用程序,我用 iex -S mix 启动它。而不必手动在 shell 中输入命令,例如

iex()> import MyApp.Module
iex()> alias MyApp.Module.OtheName
iex()> value = OtherName.function(1234)

有一种方法可以自动发生这种情况。

您可以使用要在启动时运行的代码在应用程序目录中创建一个文件.iex.exs。从 iex 的手册页:

iex 启动后,它会查找文件 .iex.exs,在 成功,在命令行管理程序的上下文中执行文件中的代码。 首先,搜索从当前工作目录中开始,然后,如果 必要的,它继续在主目录中。

但请注意,如果您将特定于应用程序的代码放在此文件中,则只有在执行iex -S mix时它才会正确运行,但当您仅执行iex时不会。

最新更新