在 Elixir 中,您可以iex通过以下命令将 shell 与应用程序的上下文一起使用...
iex -S mix
Run Code Online (Sandbox Code Playgroud)
这个命令非常方便,让我们可以在交互式 shell 中使用应用程序功能。
我想知道是否可以使用参数启动交互式 shell,或者是否可以让您的应用程序在用户与 shell 交互之前调用某些函数。
例如,假设我有一个名为 的应用程序MyApp,并以 启动它iex -S mix。而不必手动在 shell 中输入命令,例如
iex -S mix
Run Code Online (Sandbox Code Playgroud)
有一种方法可以让这一切自动发生。
您可以在应用程序目录中创建一个文件.iex.exs,其中包含要在启动时运行的代码。从手册页iex:
iex 启动后,它会查找文件 .iex.exs,如果成功,则会在 shell 上下文中执行该文件中的代码。首先,搜索从当前工作目录开始,然后,如有必要,它会在主目录中继续。
但请注意,如果您将应用程序特定的代码放入此文件中,则只有在执行时它才会正确运行iex -S mix,而在仅执行时则不会正确运行iex。