5.6.1 Sintassi della funzione di sostituzione
Creare una funzione che sostituisca una variabile presente nel codice LilyPond è semplice. La forma generica di queste funzioni è:
funzione = #(define-music-function (arg1 arg2 …) (tipo1? tipo2? …) #{ …musica… #})
dove
argN | nesimo argomento |
tipoN? | un tipo di predicato scheme per il quale argN
deve ritornare #t . |
…musica… | il normale input LilyPond, usando $ (nei punti in cui sono
consentiti solo i costrutti LilyPond) o # (per usarlo come un valore
Scheme o come argomento di una funzione musicale o come musica all’interno
di liste di musica) per riferirsi agli argomenti (es: ‘#arg1’). |
La lista del tipo di predicati è obbligatoria. Alcuni dei tipi di predicati più comuni usati nelle funzioni musicali sono:
boolean? cheap-list? (usarlo al posto di ‘list?’ per un'elaborazione più veloce) ly:duration? ly:music? ly:pitch? markup? number? pair? string? symbol?
Un elenco dei tipi di predicati disponibili si trova in Tipi di predicati predefiniti. Sono consentiti anche tipi di predicati definiti dagli utenti.
Vedi anche
Guida alla notazione: Tipi di predicati predefiniti.
Estendere LilyPond: Music functions.
File installati: ‘lily/music-scheme.cc’, ‘scm/c++.scm’, ‘scm/lily.scm’.
Altre lingue: English, català, deutsch, español, français, 日本語.
About automatic language selection.