RE : Re: [LA-discussions] coder en scheme |
[ Thread Index |
Date Index
| More linuxarverne.org/discussions Archives
]
Dans is-button, «liste» c'est un argument qu'on passe à l'appel de la fonction. Dès que je peux (et que j'ai accès à une machine avec un vrai clavier) je lis la doc et je reponds au reste du mail...
-------- Message d'origine --------
De : Daniel Cartron <dan@xxxxxxxxxxx>
Date : 18/05/2013 10:22 (GMT+01:00)
A : discussions@xxxxxxxxxxxxxxxx
Objet : Re: [LA-discussions] coder en scheme
Le samedi 18 mai 2013 02:44:25 KewlCat a écrit :
> Maintenant, dans le détail, il nous faut un comparateur
> "est-valeur-recherchee" qui retourne #t ou #f (qui sont, si j'ai bien
> compris, les booléens true et false) si les premières valeurs sont 4 1 0 1 :
>
> (define (est-valeur-recherchee liste) (
> (and
> (= (car liste) 4)
> (= (car (cdr liste)) 1)
> (= (car (cdr (cdr liste))) 0)
> (= (car (cdr (cdr (cdr liste)) 1)
> )
> )
> )
Je suis en train de traduire ton code avec des noms qui me parlent :
je cherche dans ma liste cte qui est une table de correspondance entre les
pitchs des notes définis par a b c et les boutons du clavier définis par d e
f, donc :
#(define button-list (list)) ; la liste de résultats à remplir
Comme je récupère a b c à partir d'une fonction lilypond qui donne le pitch de
la note, j'ai ajouté :
#(define button-pitch (list 4 1 0)) ; c'est pour le test, en fait ce sera la
valeur renvoyée par la fonction ly:pitch qui sera comparée
Puis je compare soit avec :
#(define (is-button liste) (
(and
(= (car liste) (first button-pitch))
(= (car (cdr liste)) (second button-pitch))
(= (car (cdr (cdr liste))) (third button-pitch))
)
)
)
où je n'ai pas encore bien pigé ce que représente liste, pour moi c'est
chacune des sous listes de cte
sinon sur http://www.gnu.org/software/guile/manual/guile.html#List-Searching
6.7.2.8 List Mapping
il y a un truc qui me semble intéressant, qu'en penses-tu ?
--
Cordialement, Daniel Cartron
« Faut-il toujours un cadavre pour que vienne un nouveau-né ? »
Francis Blanche - Mon oursin et moi
--
Liste de discussions de LinuxArverne
http://wiki.linuxarverne.org/listes_de_diffusion