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

时间:2019-04-07 12:44:25

标签: elixir iex

在elixir中,您可以通过以下命令将iex shell与应用程序上下文结合使用...

iex -S mix

此命令非常方便,使我们可以在交互式外壳程序中使用应用程序功能。

我想知道是否可以使用参数启动交互式外壳,或者是否有可能让您的应用程序在用户与外壳进行交互之前调用某些函数。

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

iex()> import MyApp.Module

iex()> alias MyApp.Module.OtheName

iex()> value = OtherName.function(1234)

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

1 个答案:

答案 0 :(得分:4)

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

  

iex启动后,它将搜索文件.iex.exs,如果是   成功,在shell上下文中从文件执行代码。   首先,搜索从当前工作目录开始,然后,如果   必要时,它将继续在主目录中。

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