Module 子模块上的Elixir别名
据 我应该能够使此代码正常工作:Module 子模块上的Elixir别名,module,alias,elixir,Module,Alias,Elixir,据 我应该能够使此代码正常工作: defmodule A do alias A.B, as: C defmodule B do defstruct name: "" end end iex(1)>%C{} 但我却有一个错误: **(CompileError)iex:1:C.\uuu结构\uuu/0未定义,无法展开结构C 你知道我错过了什么吗 编辑:对于示例,此处简化了模块命名这仅适用于定义别名的模块,例如: defmodule A do alias A.B, as:
defmodule A do
alias A.B, as: C
defmodule B do
defstruct name: ""
end
end
iex(1)>%C{}
但我却有一个错误:
**(CompileError)iex:1:C.\uuu结构\uuu/0未定义,无法展开结构C
你知道我错过了什么吗
编辑:对于示例,此处简化了模块命名这仅适用于定义别名的模块,例如:
defmodule A do
alias A.B, as: C
defmodule B do
defstruct name: ""
end
def new do
%C{}
end
end
然后你可以做:
iex(6)> A.new
%A.B{name: ""}
如果您在iex中键入别名,这也会起作用:
iex(7)> alias A.B, as: C
nil
iex(8)> %C{}
%A.B{name: ""}