Dans Scheme, comment puis-je utiliser le raccourci define/lambda pour les expressions lambda imbriquées dans ma définition?Schéma define/lambda shorthand
Par exemple donné la procédure suivante ...
(define add
(lambda (num1 num2)
(+ num1 num2)))
On peut le raccourcir à ceci:
(define (add num1 num2)
(+ num1 num2))
Cependant, comment puis-je réduire la fonction suivante de la même?
(define makeOperator
(lambda (operator)
(lambda (num1 num2)
(operator num1 num2))))
;example useage - equivalent to (* 3 4):
((makeOperator *) 3 4)
Merci - Je vous donnerai +1 lorsque ma limite de votes sera rétablie :). http://www.scheme.com/tspl2d/start.html#g1642 - si vous faites défiler un peu, l'auteur semble parler d'une sorte de syntaxe à points pour raccourcir les définitions. Une idée de quoi il parle? – Cam
@incrediman: Oui, il parle de '(define (f.xs) ...)' qui vous permettra d'appeler f avec un nombre arbitraire d'arguments (par exemple '(f 1 2 3 4 5)') et ' xs' sera une liste contenant ces arguments. – sepp2k
Ahhh. Gotcha - merci. C'est en fait assez utile lui-même, donc je suis content d'avoir demandé :) – Cam