Extender LilyPond: A.2.2 Variables de LilyPond

### A.2.2 Variables de LilyPond

Las variables de LilyPond se almacenan internamente en la forma de variables de Scheme. Así,

>     doce = 12

equivale a

>     #(define doce 12)

Esto significa que las variables de LilyPond están disponibles para su uso dentro de expresiones de Scheme. Por ejemplo, podríamos usar

>     veintiCuatro = (* 2 doce)

lo que daría lugar a que el número 24 se almacenase dentro de la variable `veintiCuatro` de LilyPond (y de Scheme).

El lenguaje Scheme permite la modificación de expresiones complejas in situ y LilyPond hace uso de esta ‘modificación in situ’ al usar funciones musicales. Pero cuando las expresiones musicales se almacenan dentro de variables en lugar de ser introducidas directamente, lo que habitualmente se espera cuando se pasan a funciones musicales sería que el valor original quedase intacto. Así pues, cuando se referencia una variable musical con la barra invertida (como `\veintiCuatro`), LilyPond crea una copia del valor musical de tal variable para utilizarla dentro de la expresión musical circundante, en lugar de usar el valor de la variable directamente.

Por ello, las expresiones musicales de Scheme escritas con la sintasis de almohadilla `#` deberían utilizarse para cualquier material creado ‘partiendo de cero’ (o que se ha copiado explícitamente) en lugar de utilizarse para referenciar música directamente.

#### Véase también

Manual de extensión: Sintaxis del Scheme de LilyPond.

#### LilyPond — Extender v2.24.4 (rama estable).