Re: [LA-discussions] coder en scheme

[ Thread Index | Date Index | More linuxarverne.org/discussions Archives ]


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


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/