Как я могу сделать вывод этого выражения
quote do
defmodule X do
unquote do
IO.puts "working ..."
args = [{:a, [], Elixir}, {:b, [], Elixir}]
quote do
def myfun(unquote_splicing(args)) do
end
end
end
end
end
, который равен
working ...
{:defmodule, [context: Elixir, import: Kernel],
[
{:__aliases__, [alias: false], [:X]},
[
do: [ # <---- WANT TO REMOVE THIS
do: {:def, [context: Elixir, import: Kernel],
[
{:myfun, [context: Elixir], [{:a, [], Elixir}, {:b, [], Elixir}]},
[do: {:__block__, [], []}]
]}
] # <---- WANT TO REMOVE THIS
]
]}
, точно таким же, как это выражение
quote do
defmodule X do
def myfun(a,b) do
end
end
end
, которое
{:defmodule, [context: Elixir, import: Kernel],
[
{:__aliases__, [alias: false], [:X]},
[
do: {:def, [context: Elixir, import: Kernel],
[
{:myfun, [context: Elixir], [{:a, [], Elixir}, {:b, [], Elixir}]},
[do: {:__block__, [], []}]
]}
]
]}
?
Я хочу знать, как изменить первое выражение, чтобы удалить сигнальные строки из его вывода.
Спасибо