In Scheme, come posso utilizzare la stenografia define/lambda per espressioni lambda annidate all'interno della mia definizione?Schema define/lambda stenografia
Ad esempio dato la seguente procedura ...
(define add
(lambda (num1 num2)
(+ num1 num2)))
si può ridurre a questo:
(define (add num1 num2)
(+ num1 num2))
Tuttavia, come posso accorciare la seguente funzione simile?
(define makeOperator
(lambda (operator)
(lambda (num1 num2)
(operator num1 num2))))
;example useage - equivalent to (* 3 4):
((makeOperator *) 3 4)
Grazie - Aggiungerò +1 al mio reset del limite di voto :). http://www.scheme.com/tspl2d/start.html#g1642 - se si scorre verso il basso un po ', l'autore sembra parlare di una sorta di sintassi del punto per definire i criteri di accorciamento. Qualche idea di cosa sta parlando? – Cam
@incrediman: Sì, sta parlando di '(define (f. Xs) ...)' che ti permetterà di chiamare f con un numero arbitrario di argomenti (es. '(F 1 2 3 4 5)') e ' xs' sarà una lista contenente quegli argomenti. – sepp2k
Ahhh. Gotcha - grazie. In realtà è abbastanza utile, quindi sono contento di averlo chiesto :) – Cam