X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fit%2Fusage%2Fupdating.itely;h=2d3404a870e583f9a657f28ed0bc926eac2cfb98;hb=3fa0828c1fdeaa7ee27624d0fb57a937efb33931;hp=53cbfedbfad8ac922f8fcda184e5ff9d2eb8badb;hpb=7237292ee655894a49e13090787aa392a583a6c9;p=lilypond.git diff --git a/Documentation/it/usage/updating.itely b/Documentation/it/usage/updating.itely index 53cbfedbfa..2d3404a870 100644 --- a/Documentation/it/usage/updating.itely +++ b/Documentation/it/usage/updating.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: bd8e8f0193000854fef9d3de3cc0a9f667ea8fb1 + Translation of GIT committish: 094be7d770e887169f70249804e1e96e04a44ca5 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -32,6 +32,7 @@ aggiornare questi file di input più vecchi alla nuova sintassi. * Opzioni da linea di comando per convert-ly:: * Problemi nell'eseguire convert-ly:: * Conversioni manuali:: +* Scrivere codice che funzioni su molteplici versioni:: @end menu @@ -374,3 +375,44 @@ converted. \score{} must now begin with a music expression. Anything else (particularly \header{}) must come after the music. @end verbatim + +@node Scrivere codice che funzioni su molteplici versioni +@section Scrivere codice che funzioni su molteplici versioni +@translationof Writing code to support multiple versions + +In alcuni casi, in particolare quando si scrive codice destinato a funzionare +come @emph{libreria}, è opportuno far sì che supporti molteplici versioni di +LilyPond nonostante le modifiche della sintassi. Per farlo si possono +avvolgere porzioni alternative di codice in espressioni condizionali che +dipendono dalla versione di LilyPond attualmente eseguita. La funzione +Scheme @code{ly:version?} prevede un operatore di confronto @var{op} +e una versione di riferimento @var{ver} passata come elenco di interi di +massimo tre elementi. Gli elementi mancanti vengono ignorati, quindi +@code{'(2 20)} equivale a @emph{qualsiasi} versione della serie di versioni +2.20. Sono possibili costrutti come il seguente: + +@verbatim +#(cond + ((ly:version? > '(2 20)) + (ly:message "Questo è il codice da eseguire per LilyPond 2.20 o successivi")) + ((ly:version? = '(2 19 57)) + (ly:message "Questo verrà eseguito soltanto con LilyPond 2.19.57")) + (else (ly:message "Questo verrà eseguito con qualsiasi altra versione"))) +@end verbatim + +Solitamente questa funzione viene integrata nelle funzioni di una libreria, +per consentire l'uso di sintassi alternativa, ma è anche possibile usare il +confronto direttamente nell'input musicale, come nell'esempio seguente: + +@verbatim +{ + c' d' e' f' + #(if (ly:version? = '(2 21)) + #{ \override NoteHead.color = #red #} + #{ \override NoteHead.color = #blue #}) + g' a' b' c'' +} +@end verbatim + +@strong{Nota:} Questa funzione è stata introdotta in LilyPond 2.19.57, dunque +non è possibile fare confronti usando versioni precedenti.