我很难使用Elixir语言将模块加载到另一个模块中。
例如,我有2个文件如下所示:
a.ex
defmodule A do
def a do
IO.puts "A.a"
end
end
b.ex
defmodule B do
require A
def b do
IO.puts "B.b"
A.a
end
end
B.b
我试图执行b.ex.然后我得到如下错误:
$elixir b.ex
** (CompileError) b.ex:2: module A is not loaded and could not be found
答案 0 :(得分:4)
在您的文件b.ex
中删除最后一行的B.b
然后在你的项目目录中运行Iex就好了
iex -S mix
这将加载iex并正确加载模块
然后你可以B.b
你会看到:
B.b
A.a
:ok
另外,请确保您的a.ex
和b.ex
文件位于elixir项目的lib/
目录中