试图找出为什么下面的代码会生成警告
defmodule A do
def greet do
IO.puts "Inside A"
end
end
defmodule B do
def greet do
IO.puts "Inside B"
end
end
spawn(A, :greet, [])
输出
iex(14)> c("te.ex")
te.ex:1: redefining module A
te.ex:7: redefining module B
Inside A
[B, A]
与
spawn
通话无关。 :) 每次编译文件时,第一次之后,模块都会被重新定义,因为以前的版本已经存在。在这种情况下没有什么问题,警告是针对您不小心重新定义了您不期望的模块的情况。
我通过删除 _build 文件夹解决了这个问题