Elixir:如何在脚本中使用flush()函数?

Elixir:如何在脚本中使用flush()函数?,elixir,Elixir,文档给出了在iex中使用的示例,它在那里工作: 虽然它在脚本内部不起作用: $ elixir e.exs ** (CompileError) e.exs:6: undefined function flush/0 (elixir) lib/code.ex:363: Code.require_file/2 我发现这个函数是一些IEx.Helpers的一部分 但是,在脚本开头使用IEx的助手或使用IEx不会生效。您不想使用使用关键字。您需要别名或导入 它们都是相关的,但略有不同 im

文档给出了在iex中使用的示例,它在那里工作:

虽然它在脚本内部不起作用:

$ elixir e.exs
** (CompileError) e.exs:6: undefined function flush/0
    (elixir) lib/code.ex:363: Code.require_file/2
我发现这个函数是一些
IEx.Helpers的一部分


但是,在脚本开头使用IEx的助手
使用IEx
不会生效。

您不想使用
使用
关键字。您需要
别名
导入

它们都是相关的,但略有不同

  • import Foo.Bar
    -将导入
    Foo.Bar
    模块中定义的所有函数,允许您调用
    function()
  • alias Foo.Bar
    -还将导入模块
    Foo.Bar
    中定义的所有函数。不同之处在于,现在您需要使用
    Bar.function()
    ,而不仅仅是
    function()
  • use Foo.Bar
    -将调用
    Foo.Bar
    模块内部的宏,该模块名为
    \uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

您可以阅读更多关于这些单词之间差异的信息。

如果我正确理解了您的问题,uou也可以简单地运行
$iex e.exs