元编程

Julia 的元编程功能受到类似 Lisp 语言的启发,对于那些具有一些 Lisp 背景的人来说似乎很熟悉。元编程非常强大。如果使用正确,它可以使代码更简洁和可读。

quote ... end 是 quasiquote 语法。它们只是被解析而不是被评估的表达式。quote ... end 表达式的值是生成的抽象语法树(AST)。

:(...) 语法类似于 quote ... end 语法,但它更轻量级。这种语法比 quote ... end 更简洁。

里面一个 quasiquote,该 $ 运算符是特殊和插值其参数为 AST。该参数预计是一个直接拼接到 AST 中的表达式。

Meta.quot(x) 函数引用其参数。这通常与使用 $ 进行插值有用,因为它允许表达式和符号字面拼接到 AST 中。