Looking for julia-lang Keywords? Try Ask4Keywords

Julia LanguageMetaprogrammierung


Syntax

  • Makroname (ex) ... Ende
  • Zitat ... Ende
  • : (...)
  • $ x
  • Meta.quot (x)
  • QuoteNode (x)
  • esc (x)

Bemerkungen

Julias Metaprogrammierungsfunktionen sind stark von denen von Lisp-ähnlichen Sprachen inspiriert und werden denen mit Lisp-Hintergrund bekannt vorkommen. Metaprogrammierung ist sehr mächtig. Bei korrekter Verwendung kann es zu prägnanterem und lesbarerem Code führen.

Das quote ... end ist quasiquote Syntax. Anstelle der Ausdrücke, die ausgewertet werden, werden sie einfach analysiert. Der Wert des quote ... end ist der resultierende Abstract Syntax Tree (AST).

Die Syntax :(...) ähnelt der Syntax quote ... end , ist jedoch leichter. Diese Syntax ist knapper als quote ... end .

In einer Quasiquote ist der Operator $ Besonderes und interpoliert sein Argument in die AST. Es wird erwartet, dass das Argument ein Ausdruck ist, der direkt mit dem AST verbunden ist.

Die Meta.quot(x) -Funktion zitiert ihr Argument. Dies ist häufig in Kombination mit $ für die Interpolation hilfreich, da Ausdrücke und Symbole buchstäblich mit dem AST verbunden werden können.

Metaprogrammierung Verwandte Beispiele