[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: erreur dans fonction scheme
From: |
Gilles |
Subject: |
Re: erreur dans fonction scheme |
Date: |
Mon, 27 May 2013 10:35:59 +0200 |
User-agent: |
Opera Mail/12.15 (Linux) |
Le Mon, 27 May 2013 09:37:48 +0200, Daniel Cartron <address@hidden> a
écrit:
#(cond
((and #upperline #lowerline)
#{ #(color-staff-lines white black
black white) #})
(else #{ #(color-staff-lines white black white)
#})
)
Je crois qu'il y a un peu trop de #
# sert à utiliser une expression scheme à l'intérieur d'une expression
Lilypond. Comme l'expression commence par #(cond, tu es à l'intérieur
d'une expression scheme. Je suis même étonné que #upperline soit compris
par le parser scheme.
Pour color-staff-lines, je suppose que c'est une fonction scheme, vu les
tirets dans le nom ( ça serait colorStaffLines pour être valide en
Lilypond). En gros avec
#{ #color-staff-lines ..., tu demandes d'importer du Lilypond dans du
scheme, puis du scheme dans du lilypond. C'est un peu lourd, mais
effectivement ça devrait marcher. Par contre, apparemment cette fonction
prend un nombre aléatoire d'arguments (ici 4 ou 3). C'est possible, mais
est-ce bien le cas ?
Cette version devrait être déjà plus allégée :
#(cond
((and upperline lowerline)
(color-staff-lines white black black white) ; 4 arguments
(else
(color-staff-lines white black white))) % 3 arguments
--
Gilles
Re: erreur dans fonction scheme, Daniel Cartron, 2013/05/27