[ << Scheme-Tutorium ] | [Anfang][Inhalt][Index] | [ Schnittstellen für Programmierer >> ] |
[ < LilyPond Scheme-Syntax ] | [ Nach oben : Scheme in LilyPond ] | [ Eingabe-Variablen und Scheme > ] |
1.2.2 LilyPond-Variablen
LilyPond-Variablen werden intern als Scheme-Variablen gespeichert. Darum ist
Zwoelf = 12
das Gleiche wie
#(define Zwoelf 12)
Das bedeutet, dass Scheme-Ausdrücke auf LilyPond-Variablen zugreifen können. Man könnte also schreiben:
Vierundzwanzig = #(* 2 Zwoelf)
was zur Folge hätte, dass die Zahl 24 in der LilyPond (und Scheme-)Variablen
Vierundzwanzig
gespeichert wird.
Üblicherweise greift man auf LilyPond-Variablen zu, indem man ihnen einen
Backslash voranstellt. Siehe auch LilyPond Scheme-Syntax, also etwa
\Vierundzwanzig
. Weil dadurch eine Kopie des Wertes für die meisten
von LilyPonds internen Typen erstellt wird (insbesondere musikalische Funktionen),
erstellen musikalische Funktionen normalerweise Kopien von Material, das sie
verändern. Aus diesem Grund sollten musikalische Funktionen, die mit #
aufgerufen werden, kein Material enthalten, dass entweder von Grund auf neu
erstellt wird oder explizit kopiert wird, sondern besser direkt auf das relevante
Material verweisen.
[ << Scheme-Tutorium ] | [Anfang][Inhalt][Index] | [ Schnittstellen für Programmierer >> ] |
[ < LilyPond Scheme-Syntax ] | [ Nach oben : Scheme in LilyPond ] | [ Eingabe-Variablen und Scheme > ] |