lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Variables variées...


From: Jean-Charles Malahieude
Subject: Re: Variables variées...
Date: Fri, 03 Sep 2010 19:37:09 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.8) Gecko/20100806 Fedora/3.1.2-1.fc13 Thunderbird/3.1.2

Le 03/09/2010 16:02, Cile disait :
Bonjour !

On 03/09/2010 14:55, Jean-Christophe D wrote:
[...]
Je précise donc ma question : il ne s'agit pas d'inclure du code, mais de
mettre en variable un extrait quelconque de code LilyPond (peu importe
s'il est ensuite inclus en local ou en global).
Ce que tu demandes est très clairement impossible. Tu voudrais qu'une
variable soit une fonction, hors ce sont 2 choses différentes répondant
à des besoins différents.
Je pense qu'il faut vraiment garder à l'esprit les déficitions de
"variable" et "fonction" :

- Qu'est ce qu'une variable ?
Une variable c'est une valeur, un objet, c'est un raccourcis vers une
information. Imagine que tu écrives un dictionnaire, il comporte plein
d'entrées (= variables), chacune d'elles associée à une définition (=
contenu de la variable). Tu peux ajouter de nouveau mots à ton
dictionnaire, tu peux modifier des définitions, etc. Mais tu ne peux pas
dire à ton dictionnaire de créer quelque chose. La définition que tu
écris dans ton dictionnaire doit être complète, tu ne peux pas écrire
que les 3 premiers mots de la définition, ce serait incompréhensible. Ta
définition doit se suffire à elle-même.

- Qu'est ce qu'une fonction ?
Une fonction exécute une action, une tâche, produit un résultat. Elle
traite une ou des informations et renvoie un résultat qui lui-même peut
être une information. C'est comme un petit programme qui transforme des
données en d'autres données.

Enfin, gardons les 2 règles d'or :
- Quand une fonction utilise des arguments obligatoires ces arguments
doivent impérativement être spécifiés en même temps que l'on appelle la
fonction. Sinon ce serait comme donner une recette de cuisine sans les
ingrédients.
- Une variable est "inerte", elle n'exécute rien et ne prends pas de
paramètres.
Cela est valable dans tous les langages de programmation.

C'est la raison pour laquelle je préfère  IDENTIFICATEUR à variable :

Le code barre 1234567890123 est un identificateur
\1234567890123 = { camembert au lait cru suffisamment crémeux }
\9873513210987 = { bol rempli de panure bien sèche et jaune d'œuf }

\score {
  \new Staff = "camembert pané <<
    \new Voice = "enrobage" { \987651321987 }
    \new lyrics \lyricsto "enrobage" { \1234567890123 }
  >>
  \layout {
    \context {
      \four_à_chaleur_tournante
      \override Thermostat #'grill = #250
     }
    \context {
      \four_à_chaleur_tournante
      \override Minuterie #'durée = #15
     }
  }
}

À servir sur quelques feuilles de salade, et un petit coup de rouge !

Quand le temps variable n'est ni beau ni pourri !

@+
Jean-Charles






reply via email to

[Prev in Thread] Current Thread [Next in Thread]