首页 > 解决方案 > 有没有办法将一个模块的内容完全插入另一个模块?

问题描述

我需要一个代码放在里面__using__,它会一次引用所有模块,而不是手动复制它。

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

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

应在编译时生成实例。

草案看起来像:

defmacro __using__(_) do
   quote do
      __MODULE__
   end
end

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

defmodule Instance do
   use Model
end

它会将整个模型的内容注入到实​​例中。

标签: elixirmetaprogramming

解决方案


推荐阅读