5.6.1 Sintaxis de las funciones de sustitución

Es fácil hacer una función que sustituya una variable dentro de código de LilyPond. La forma general de estas funciones es

funcion =
#(define-music-function
     (parser location arg1 arg2 …)
     (type1? type2? …)
   #{
     …música…
   #})

donde

argN

n-ésimo argumento

typeN?

predicado de tipo de Scheme para el que argN debe devolver #t.

…música…

entrada de LilyPond normal, que utiliza $ para referenciar argumentos (p.ej. ‘$arg1’).

Los argumentos parser y location son necesarios, y se utilizan en algunas situaciones avanzadas como se encuentra descrito en Sintaxis de las funciones musicales. Para las funciones de sustitución, tan sólo hemos de asegurarnos de incluirlos.

También es necesaria la lista de predicados de tipo. Algunos de los predicados de tipo más comunes que se utilizan en las funciones musicales son:

boolean?
cheap-list?  (utilizar en lugar de ‘list?’ para un procesado más rápido)
ly:music?
markup?
number?
pair?
string?
symbol?

Para ver una lista de los predicados de tipo disponibles, consulte Predicados de tipo predefinidos. También se permiten los predicados de tipo definidos por el usuario.

Véase también

Referencia de la notación: Predicados de tipo predefinidos.

Expansión de LilyPond: Sintaxis de las funciones musicales.

Archivos instalados: ‘lily/music-scheme.cc’, ‘scm/c++.scm’, ‘scm/lily.scm’.


Otros idiomas: English, deutsch, 日本語.

LilyPond — Referencia de la notación

inserted by FC2 system