Module.eval_quoted

You're seeing just the function eval_quoted, go back to Module module for more information.
Link to this function

eval_quoted(module_or_env, quoted, binding \\ [], opts \\ [])

View Source

Specs

eval_quoted(
  module() | Macro.Env.t(),
  Macro.t(),
  list(),
  keyword() | Macro.Env.t()
) :: term()

Evaluates the quoted contents in the given module's context.

A list of environment options can also be given as argument. See Code.eval_string/3 for more information.

Raises an error if the module was already compiled.

Examples

defmodule Foo do
  contents =
    quote do
      def sum(a, b), do: a + b
    end

  Module.eval_quoted(__MODULE__, contents)
end

Foo.sum(1, 2)
#=> 3

For convenience, you can pass any Macro.Env struct, such as __ENV__/0, as the first argument or as options. Both the module and all options will be automatically extracted from the environment:

defmodule Foo do
  contents =
    quote do
      def sum(a, b), do: a + b
    end

  Module.eval_quoted(__ENV__, contents)
end

Foo.sum(1, 2)
#=> 3

Note that if you pass a Macro.Env struct as first argument while also passing opts, they will be merged with opts having precedence.