文档提供了iex
中的用法示例 - 它可以在那里工作:
http://elixir-lang.org/getting-started/processes.html#send-and-receive
虽然它在脚本内部不起作用:
$ elixir e.exs
** (CompileError) e.exs:6: undefined function flush/0
(elixir) lib/code.ex:363: Code.require_file/2
我发现这个函数是某些IEx.Helpers
的一部分
https://hexdocs.pm/iex/master/IEx.Helpers.html
但在脚本开头添加use IEx.Helpers
或use IEx
并不会生效。
答案 0 :(得分:2)
您不想使用use
关键字。您将要么alias
或import
。
它们都是相关的,但略有不同。
import Foo.Bar
- 将导入Foo.Bar
模块中定义的所有功能,允许您拨打function()
alias Foo.Bar
- 还将导入模块Foo.Bar
中定义的所有函数。不同之处在于,现在您需要使用Bar.function()
而不仅仅是function()
。use Foo.Bar
- 将调用名为Foo.Bar
的{{1}}模块中的宏。您可以详细了解这些字词的区别以及更多here。