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
argN | n-è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’.