Una expresión lambda que toma una función (de un argumento) y un número, y aplica la función al doble del número.¿Cómo escribir este código Lisp/Scheme?
5
A
Respuesta
8
La aplicación de la función al doble del número:
(lambda (f x) (f (* 2 x)))
aplicación de la función al número dos veces (que es lo que puede haber intención de preguntar): Respuesta
(lambda (f x) (f (f x)))
5
de Greg es correcta, pero podría pensar en cómo puede separar este problema para encontrar la respuesta usted mismo. Aquí es uno de los enfoques:
; A lambda expression
;(lambda())
; which takes a function (of one argument) and a number
;(lambda (fun num))
; and applies the function
;(lambda (fun num) (fun num))
; to twice the number
;(lambda (fun num) (fun (* 2 num)))
((lambda (fun num) (fun (* 2 num))) + 12)
2
Aquí está otra manera de acercarse a ella:
redactar un contrato, el propósito y Cabecera:
;; apply-double : function -> number -> any
;; to apply a given function to double a given number
(define (apply-double fun num) ...)
escribir algunas pruebas:
(= (apply-double identity 10) 20)
(= (apply-double - 15) -30)
(= (apply-double/7) 1/14)
Defina la función:
(define (apply-double fun num)
(fun (* 2 num)))
Esta es una abreviatura de la receta aquí: http://www.htdp.org/2003-09-26/Book/
Cuestiones relacionadas
- 1. ¿Podría escribir mejor este código?
- 2. Cómo optimizar este código
- 3. ¿Hay alguna forma más concisa de escribir este código Java?
- 4. ¿Hay alguna manera elegante de escribir este código?
- 5. ¿Qué forma de escribir este código es más eficiente?
- 6. ¿Cómo escribir este cierre lambda en CoffeeScript?
- 7. ¿Es posible escribir código para escribir código?
- 8. ¿Cómo funciona este código C?
- 9. ¿Cómo funciona este código inseguro?
- 10. ¿Cómo puedo optimizar este código?
- 11. ¿Cómo escribir código Java eficiente?
- 12. ¿Realmente necesito escribir este "SerializationHelper"?
- 13. Simplifique este código python
- 14. ¿Este código es un exploit? ¿Qué es este código?
- 15. cómo escribir código JavaScript dentro de php
- 16. Escribir código MBR
- 17. ¿Qué hace este código?
- 18. ¿Es este código redundante?
- 19. No entiendo este Código
- 20. ¿Este código es insano?
- 21. ¿Qué hace este código
- 22. ¿Cómo es este código php válido?
- 23. Cómo reemplazar com.sun.image.codec.jpeg.JPEGImageEncoder en este código?
- 24. Cómo depurar el código Este C
- 25. ¿Cómo funciona este código de función python?
- 26. ¿Cómo puedo hacer que este código Pythonic
- 27. Cómo refactorizar este código LINQ duplicado?
- 28. ¿Cómo funciona este código Perl oscurecido?
- 29. ¿Cómo mejorar el rendimiento de este código?
- 30. ¿Cómo entender este código de matraz? ?