超程式設計
Julia 的超程式設計功能受到類似 Lisp 語言的啟發,對於那些具有一些 Lisp 背景的人來說似乎很熟悉。超程式設計非常強大。如果使用正確,它可以使程式碼更簡潔和可讀。
quote ... end
是 quasiquote 語法。它們只是被解析而不是被評估的表示式。quote ... end
表示式的值是生成的抽象語法樹(AST)。
:(...)
語法類似於 quote ... end
語法,但它更輕量級。這種語法比 quote ... end
更簡潔。
裡面一個 quasiquote,該 $
運算子是特殊和插值其引數為 AST。該引數預計是一個直接拼接到 AST 中的表示式。
Meta.quot(x)
函式引用其引數。這通常與使用 $
進行插值有用,因為它允許表示式和符號字面拼接到 AST 中。