(define povrch-valce
(lambda (V h)
((lambda (r)
(* 2 r pi (+ r h)))
(sqrt (/ V pi h)))))
如果我正确理解这一点(V h是参数,并且主体为:
((lambda (r)
( * 2 r pi (+ r h)))
(sqrt (/ V pi h)))
然后我们有lambda(r),参数是(r),主体是:
(* 2 r pi (+ r h)))
(sqrt (/ V pi h)))))
有人可以以最后的顺序处理我吗?我不知道如何计算(sqrt(/ V pi h)),即使其顺序是第二。
使用与代码一致的编辑器,例如DrRacket,该函数具有以下形式:
(define povrch-valce
(lambda (V h)
((lambda (r)
(* 2 r pi (+ r h)))
(sqrt (/ V pi h)))))
即povrch-valce
是具有两个参数的函数,V
和h
,其主体为:
((lambda (r)
(* 2 r pi (+ r h)))
(sqrt (/ V pi h)))))
即(请注意两个括号):
(f (sqrt (/ V pi h)))
其中f
是函数:
(lambda (r)
(* 2 r pi (+ r h)))
这是应用了sqrt
调用结果的函数。
因此,评估(povrch-valce 2 3)
之类的步骤如下:
计算(sqrt (/ V pi h))
;结果是0.46065886596178063
将此值传递给函数f;结果是10.016548388032545
这是初始调用返回的值。