J'essaie de créer un programme de régime (langage R5RS) qui applique une opération à un ensemble de listes, en fonction de la taille d'un numéro sur une liste.
de sorte que la fonction ressemble à p> < PRE> XXX PRE>
La condition est, si f (AB) où un <5, puis appliquer le fonctionnement F (AB). p>
mais si A est égal ou supérieur à 5, appliquez g (A b). (La deuxième opération) p>
Ce sonne déroutant, mais un exemple visuel doit le refroidir: donc, un exemple serait p> retournerait: p> Un autre exemple serait p> retours p> i ' VE a abordé les opérations sur le schéma avant, mais la partie de condition me jette et je ne sais pas où commencer. Toute aide est appréciée! P> p>
3 Réponses :
version 1 em> strud>: Si vous utilisez des procédures version 2 em> strong>: vous pouvez faire une liste des symboles correspondant d'association aux procédures p> + code> et
* code> au lieu de symboles
'+ < / code> et
'* code>:
Supposons que les procédures sont données telles que Ensuite, l'opération sur une de ces sous-liste ressemblerait à p> résumé les procédures données: p> Maintenant, vous pouvez transformer une liste avec et abstrait les procédures: P> * code> et
+ code>.
* code> et
+ code>: p>
Si vous supposez que vous n'avez pas à mapper entre les noms de fonction et les fonctions, une définition évidente est d'utiliser Appliquer code>: