超程式設計

Julia 的超程式設計功能受到類似 Lisp 語言的啟發,對於那些具有一些 Lisp 背景的人來說似乎很熟悉。超程式設計非常強大。如果使用正確,它可以使程式碼更簡潔和可讀。

quote ... end 是 quasiquote 語法。它們只是被解析而不是被評估的表示式。quote ... end 表示式的值是生成的抽象語法樹(AST)。

:(...) 語法類似於 quote ... end 語法,但它更輕量級。這種語法比 quote ... end 更簡潔。

裡面一個 quasiquote,該 $ 運算子是特殊和插值其引數為 AST。該引數預計是一個直接拼接到 AST 中的表示式。

Meta.quot(x) 函式引用其引數。這通常與使用 $ 進行插值有用,因為它允許表示式和符號字面拼接到 AST 中。