Elixir Macros 系列文章译文
[1] (译) Understanding Elixir Macros, Part 1 Basics
[2] (译) Understanding Elixir...假设我们有一些三元组, 我们想要传输到调用者的上下文中:
iex(1)> data = {1, 2, 3}
{1, 2, 3}
现在, 让我们尝试使用典型的 unquote 进行传输:
iex(2)>...在代码生成上下文中, 我们有一些数据要传输到调用者的上下文中. 这就是Macro.escape 作用所处. 通过转义一个 term, 我们可以确保它是被传输的, 而不是被注入的....在编写宏时, 要考虑你是否要注入一些 AST, 或者不加更改地传输数据. 在后一种情况, 你需要使用 Macro.escape....回顾
关于 Elixir 宏的系列文章到此结束了. 我希望你觉得这些文章有趣且有学习意义, 并且对宏的工作机制有了更多的了解和使用信心.