Macros Inject Code
Understand the concept of the quote function in evaluating macros in Elixir.
We'll cover the following...
We'll cover the following...
Introduction
Let’s pretend we’re the Elixir compiler. We read a module’s source top to bottom and generate a representation of the code we find. That representation is a nested Elixir tuple.
If we want to support macros, we need a way to tell the compiler that we’d like to manipulate a part of that tuple. We do that using defmacro
, quote
, and unquote
.
In the same way that def
defines a function, defmacro
defines a macro. We’ll see what it looks like shortly. However, the interesting part starts not when we define a macro but when we use one.
When we pass parameters to a macro, Elixir ...