我有这个模块,我试图在其中定义一个结构:
defmodule A do
defmodule B do
defstruct :id, :name
end
end
Run Code Online (Sandbox Code Playgroud)
为什么会出错?
undefined function defstruct/2
Run Code Online (Sandbox Code Playgroud)
为什么会出现这个错误呢?
Elixir 解释defstruct :id, :name为使用2个参数进行调用defstruct,即.undefined function defstruct/2
您想要做的是将单个参数传递给 defstruct,即字段名称列表:
defmodule A do
defmodule B do
defstruct [:id, :name]
end
end
Run Code Online (Sandbox Code Playgroud)