有没有办法将一个模块的内容完全插入另一个模块?

时间:2019-01-16 10:51:21

标签: elixir metaprogramming

我需要一个代码放置在__using__内,该代码将立即引用所有模块,而不是手动将其复制到那里。

或者也许有一个更简单的方法?

目标是使用不同的名称创建模块的实例。该实例应能够在监督下启动,并具有扩展其他功能的能力。

实例应在编译时生成。

草稿如下:

defmacro __using__(_) do
   quote do
      __MODULE__
   end
end

它显然不起作用,也不应该起作用,但是解决方案似乎在那里。

defmodule Instance do
   use Model
end

它将把整个模型的内容注入实例。

0 个答案:

没有答案