当前位置:  开发笔记 > 编程语言 > 正文

如何编写这个Lisp/Scheme代码?

如何解决《如何编写这个Lisp/Scheme代码?》经验,为你挑选了2个好方法。

一个lambda表达式,它接受一个函数(一个参数)和一个数字,并将该函数应用于数字的两倍.



1> Greg Hewgill..:

将函数应用于数字的两倍:

(lambda (f x) (f (* 2 x)))

将函数应用于数字两次(这可能是您想要问的):

(lambda (f x) (f (f x)))



2> grettke..:

格雷格的答案是正确的,但你可能会考虑如何分解这个问题来自己找到答案.这是一种方法:

; 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)

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有