将函数应用于数字的两倍:
(lambda (f x) (f (* 2 x)))
Run Code Online (Sandbox Code Playgroud)
将函数应用于数字两次(这可能是您想要问的):
(lambda (f x) (f (f x)))
Run Code Online (Sandbox Code Playgroud)
格雷格的答案是正确的,但你可能会考虑如何分解这个问题来自己找到答案.这是一种方法:
; 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)
Run Code Online (Sandbox Code Playgroud)