一个lambda表达式,它使用一个函数(一个参数)和一个数字,并将该函数应用于数字的两倍。如何编写Lisp/Scheme代码?
5
A
回答
8
应用的功能数量的两倍:
(lambda (f x) (f (* 2 x)))
应用的功能数量的两倍(这是什么你可能打算要求):
(lambda (f x) (f (f x)))
5
Greg的答案是正确的,但你可能会考虑如何分解这个问题来自己找到答案。这里有一个方法:
; 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
这里是另一种方式接近它:
写合同,目的和标题:
;; apply-double : function -> number -> any
;; to apply a given function to double a given number
(define (apply-double fun num) ...)
写一些测试:
(= (apply-double identity 10) 20)
(= (apply-double - 15) -30)
(= (apply-double/7) 1/14)
定义功能:
(define (apply-double fun num)
(fun (* 2 num)))
这是此处配方的缩写:http://www.htdp.org/2003-09-26/Book/
相关问题
- 1. 如何编写html5代码
- 2. 如何编写JavaScript代码
- 3. 如何编写伪代码
- 4. 如何编写此代码?
- 5. 如何编写代码示例,在代码中缺少代码?
- 6. 如何在LINQ2SQL中编写此代码?
- 7. Xpages - Java - 如何开始编写代码
- 8. 如何编写单行scala代码?
- 9. 如何使用haml编写此代码
- 10. 如何为此代码编写junit?
- 11. 如何使用mysqli编写此代码?
- 12. 如何编写代码标记?
- 13. 如何用fastcrud编写sql代码?
- 14. 如何在javascript中编写html代码?
- 15. 如何在钛中编写android代码
- 16. 如何为模板编写.trigger()代码?
- 17. 如何编写更多Pythonic代码
- 18. 如何编写代码中的按钮
- 19. 如何为node.js编写以下代码?
- 20. 如何在Angularjs中编写jQuery代码?
- 21. 如何在jquery下面编写代码?
- 22. 如何为eclipse编写代码模板?
- 23. 如何编写JavaScript代码餐厅
- 24. 如何在CoffeeScript中编写此代码?
- 25. Python:如何编写一段代码?
- 26. 如何递归编写代码?
- 27. 如何编写动态VB.net代码?
- 28. 如何编写代码tableviewcell动画
- 29. 如何在JRuby中编写此代码?
- 30. 如何在PHP中编写html代码?