你能帮忙解决这个问题:
((lambda (a b) (* ***(b a)*** a)) 5 (lambda (c) (+ c (* 2 c))))
现在我理解这个表达式= 75并且我理解第一个lambda采用参数a和b,其中a = 5和b =(lambda(c)(+ c(* 2 c)))= 15唯一的部分我不明白的表达是我用粗体和斜体字表示的部分。在基本术语中,表达式将如何读取?
答案 0 :(得分:3)
此片段:
(b a)
表示b
是一个函数,它正在应用于a
参数。特别是,a
的值为5
,b
的值为函数:
(lambda (c) (+ c (* 2 c)))
所以,取代我们获得:
(* (b a) a)
(* ((lambda (c) (+ c (* 2 c))) 5) 5)
(* (+ 5 (* 2 5)) 5)
75