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

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

Re: scheme : récupérer la métrique


From: Olivier Miakinen
Subject: Re: scheme : récupérer la métrique
Date: Tue, 28 Apr 2015 23:10:53 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

Le 28/04/2015 15:09, Daniel Cartron a écrit :
> 
> Non désolé mais j'ai un courielleur un peu sévère dans la chasse aux spams et 
> tes messages étaient partis dans la boite pourriels... Où je viens de les 
> trouver, mais je n'y fais le ménage qu'une fois par jour et à peine...

;-)

> En tout cas merci pour tes remarques, c'est vrai que j'ai encore du mal à me 
> faire au fait de devoir mettre deux parenthèses ouvrantes à la suite, c'est 
> assez irrationnel pour moi. Mais il faut que je m'y fasse, c'est du scheme...

Pour l'accepter -- et le retenir -- il faut comprendre la raison de ce
choix. En Scheme ils ont conservé seulement deux syntaxes pour les
conditions, l'une (if) permettant juste deux choix (oui / non) avec à
chaque fois une seule instruction, l'autre (cond) permettant un nombre
quelconque de choix avec potentiellement un nombre quelconque
d'instructions par choix.

1) syntaxe simple :
   (if test expr_oui expr_non)

2) syntaxe complète :
   (cond
     (test1 expr1a expr1b expr1c expr1d ...)
     (test2 expr2a expr2b expr2c expr2d ...)
     (test3 expr3a expr3b expr3c expr3d ...)
     ...
   )

S'il n'y avait pas les paires de parenthèses en plus dans le cond,
on ne pourrait avoir qu'une seule instruction par condition, ou alors
il faudrait rajouter des (begin ...) après chaque test. Sachant que
le cond est déjà pour les tests assez lourds (possibilité de tester
plein de conditions différentes), ça permet d'éviter de l'alourdir
encore plus avec des tas de (begin ...) dont on n'a que faire.

P.-S. : Pour la petite histoire, en Common Lisp on a un if permettant
 plusieurs choix comme le cond mais avec une seule instruction par
 choix, mais aussi un when permettant un seul choix mais plusieurs
 instructions si le test est vrai, et un unless qui est un when à
 l'envers...

Cordialement,
-- 
Olivier Miakinen



reply via email to

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