球拍lambda指令解释
如果我理解正确,(vh)是参数,主体是:球拍lambda指令解释,lambda,racket,Lambda,Racket,如果我理解正确,(vh)是参数,主体是: ((兰姆达(右) (*2Rpi(+Rh))) (sqrt(/V pi h)) 然后我们有lambda(r),参数是(r),主体是: (define povrch-valce (lambda (V h) ((lambda (r) (* 2 r pi (+ r h))) (sqrt (/ V pi h))))) 请解释一下,最后一个尸体是按什么顺序处理的?我不明白(sqrt(/V pi h))是如何首先计算的,即使它是第二个顺序。使用一个编辑器,正确对齐代
((兰姆达(右)
(*2Rpi(+Rh)))
(sqrt(/V pi h))
然后我们有lambda(r),参数是(r),主体是:
(define povrch-valce
(lambda (V h)
((lambda (r)
(* 2 r pi (+ r h)))
(sqrt (/ V pi h)))))
请解释一下,最后一个尸体是按什么顺序处理的?我不明白(sqrt(/V pi h))是如何首先计算的,即使它是第二个顺序。使用一个编辑器,正确对齐代码,如DrRacket,函数具有以下形式:
(* 2 r pi (+ r h)))
(sqrt (/ V pi h)))))
也就是说,povrch valce
是一个具有两个参数的函数,V
和h
,其主体是:
(define povrch-valce
(lambda (V h)
((lambda (r)
(* 2 r pi (+ r h)))
(sqrt (/ V pi h)))))
即(注意两个括号):
其中f
是功能:
(f (sqrt (/ V pi h)))
这是一个应用于sqrt
调用结果的函数
因此,类似于(povrch valce 2 3)
的评估步骤如下:
(sqrt(/V pi h))
;结果是0.46065886596178063(f (sqrt (/ V pi h)))
(lambda (r)
(* 2 r pi (+ r h)))