Files
comp4959/lectures/05/lec5b.ex
T
2026-10-14 16:26:51 -07:00

32 lines
407 B
Elixir

defmodule M do
defmacro context() do
# macro's context
IO.inspect(__MODULE__)
quote do
# caller's context
IO.inspect(unquote(__MODULE__))
IO.inspect(__MODULE__)
end
end
defmacro twice(x) do
quote do
unquote(x) + unquote(x)
end
end
defmacro twice_v2(x) do
quote bind_quoted: [x: x] do
x + x
end
end
end
defmodule Test do
import M
def test() do
context()
end
end