Un'espressione lambda che accetta una funzione (di un argomento) e un numero e applica la funzione al doppio del numero.Come scrivere questo codice Lisp/Scheme?
5
A
risposta
8
Applicando la funzione al doppio del numero:
(lambda (f x) (f (* 2 x)))
applicando la funzione al numero due volte (che è quello che si può avere lo scopo di chiedere): risposta
(lambda (f x) (f (f x)))
5
di Greg è corretta, ma potresti pensare a come potresti risolvere questo problema per trovare la risposta da solo. Qui è un approccio:
; 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
Ecco un altro modo di avvicinarsi:
Scrivi un contratto, lo scopo e intestazione:
;; apply-double : function -> number -> any
;; to apply a given function to double a given number
(define (apply-double fun num) ...)
scriveremo alcuni test:
(= (apply-double identity 10) 20)
(= (apply-double - 15) -30)
(= (apply-double/7) 1/14)
Definire la funzione:
(define (apply-double fun num)
(fun (* 2 num)))
Questa è un'abbreviazione della ricetta qui: http://www.htdp.org/2003-09-26/Book/
Problemi correlati
- 1. Potrei scrivere meglio questo codice?
- 2. Come scrivere questo codice C# in F #
- 3. Quale modo per scrivere questo codice è più efficiente?
- 4. È possibile scrivere questo codice jquery più breve? (principiante)
- 5. Come scrivere codice come query
- 6. Come scrivere tutto questo in assembly
- 7. Esiste un modo più conciso per scrivere questo codice Java?
- 8. Come scrivere questo meglio in perl
- 9. Come scrivere codice Java efficiente?
- 10. Come scrivere codice glsl riutilizzabile?
- 11. Come potrei scrivere questo jQuery in coffeescript?
- 12. Come faccio a scrivere questo con RSpec
- 13. Come scrivere questo codice di setup EF Mock come un Boilerplate generico riutilizzabile?
- 14. Semplifica questo codice python
- 15. Come posso ottimizzare questo codice?
- 16. come accelerare questo codice R
- 17. Come funziona questo codice Swing?
- 18. Come velocizzare questo codice Python?
- 19. come scrivere codice javascript all'interno di php
- 20. Come scrivere un codice di tracciamento javascript?
- 21. Come scrivere codice clojure idiomatico (+ funzionale)?
- 22. Come scrivere codice auto-modificante nell'assemblaggio x86
- 23. Come scrivere algoritmi/pseudo-codice in HTML?
- 24. come scrivere un loop in Windbg come questo?
- 25. Questo codice è pazzo?
- 26. C'è un modo migliore per scrivere questo?
- 27. Cosa fa questo codice?
- 28. Cosa fa questo codice
- 29. Non capisco questo codice
- 30. Usando questo() nel codice