5.6.1 Sintaxi de les funcions de substitució

És fàcil fer una funció que substitueixi una variable dins de codi del LilyPond. La forma general d’aquestes funcions és

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

donde

argNn-èssim argument
typeN?predicat de tipus de l’Scheme per al qual argN ha de retornar #t.
…música…codi d’entrada normal del LilyPond, que utilitza $ (en els llocs en els quals sols es permeten construccions del LilyPond) o # (per usar-ho com un valor de l’Scheme o un argument de funció musical o música dins de llistes de música) per referenciar arguments (per exemple ‘#arg1’).

Cal la llista de predicats de tipus. Alguns dels predicats de tipus més comuns que es fan servir en les funcions musicals són:

boolean?
cheap-list?  (utilitzar en lloc de ‘list?’ per processar-ho més ràpid)
ly:duration?
ly:music?
ly:pitch?
markup?
number?
pair?
string?
symbol?

Per veure una llista dels predicats de tipus disponibles consulteu Predicats de tipus predefinits. També es permeten els predicats de tipus definits per l’usuari.

Vegeu també

Referència de la notació: Predicats de tipus predefinits.

Expansió del LilyPond: Funcions musicals.

Fitxers instal·lats: ‘lily/music-scheme.cc’, ‘scm/c++.scm’, ‘scm/lily.scm’.


Altres idiomes: English, deutsch, español, français, italiano, 日本語.
Quant a la selecció automàtica de la llengua.

LilyPond — Referència de la notació v2.19.84 (branca de desenvolupament).