B.1 Bloques de código de LilyPond
Los bloques de código de LilyPond tienen el siguiente aspecto:
#{ código de LilyPond #}
Se pueden usar en cualquier lugar en el que se pueda escribir código
de Scheme: el lector de Scheme en efecto se modifica para que pueda
incorporar bloques de código de LilyPond y pueda ocuparse de las
expresiones de Scheme incrustadas que comienzan por $ y #.
Extrae el bloque de código de LilyPond y genera una llamada al
parser o analizador sintáctico de LilyPond, que corre en
tiempo de ejecución para interpretar el bloque de código de
LilyPond. Cualquier expresión de Scheme que se halle incrustada
se ejecuta en el entorno léxico del bloque de código de LilyPond,
de manera que tenemos acceso a las variables locales y a los
parámetros de función en el punto en que se encuentra escrito el
bloque de código de LilyPond. Si location se refiere a una
posición de entrada válida (como lo hace normalmente dentro de las
funciones musicales o de Scheme), toda la música generada dentro
del bloque de código tiene su ‘origin’ establecido a
location.
Un bloque de código de LilyPond puede contener cualquier cosa que podríamos utilizar en la parte derecha de una asignación. Además, un bloque de LilyPond vacío corresponde a una expresión musical vacía, y un bloque de LilyPond que contiene varios eventos musicales se convierte en una expresión de música secuencial.
Otros idiomas: English, deutsch, français.
Acerca de la selección automática del idioma.