一個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. 如何編寫JavaScript代碼
- 2. 如何編寫僞代碼
- 3. 如何編寫html5代碼
- 4. 如何編寫HTML代碼
- 5. 如何編寫此代碼?
- 6. 如何編寫PHP代碼
- 7. 如何編寫sass代碼?
- 8. 如何編寫代碼示例,在代碼中缺少代碼?
- 9. 如何在LINQ2SQL中編寫此代碼?
- 10. 如何在CPS中編寫此代碼?
- 11. 如何在JavaScript內編寫php代碼?
- 12. 如何編寫代碼的JavaScript內
- 13. 如何爲模板編寫.trigger()代碼?
- 14. 如何在鈦中編寫android代碼
- 15. 如何編寫單行scala代碼?
- 16. 如何使用SubSonic編寫此代碼?
- 17. 如何使用haml編寫此代碼
- 18. 如何編寫JavaScript代碼餐廳
- 19. 如何開始編寫DDK代碼?
- 20. 如何編寫模塊化Android代碼
- 21. 如何在javascript中編寫html代碼?
- 22. 如何使用mysqli編寫此代碼?
- 23. 如何運行QT2編寫的代碼?
- 24. 如何編寫一個php代碼
- 25. 如何爲此代碼編寫模板?
- 26. 如何在代碼中編寫relativeLayouts
- 27. 如何編寫代碼中的按鈕
- 28. 如何爲eclipse編寫代碼模板?
- 29. 如何編寫代碼從web.config中
- 30. 如何爲node.js編寫以下代碼?