大佬的答案:
(car (cons 1 2))
(car (lambda (m) (m 1 2))) ; 展开 cons
((lambda (z) (z (lambda (p q) p))) ; 展开 car ,代换 z
(lambda (m) (m 1 2)))
((lambda (m) (m 1 2)) ; 代换 m
(lambda (p q) p))
((lambda (p q) p) ; 代换 p
1 2)
1
第二步 展开 car,代换 z 不是很理解,为什么把 z 变成了 lambda 表达式,而不是把 z 看作一个过程,随后是把过程 (lambda (p q) p)) 当做过程 z 的参数?
下面是我的理解:
(car (cons 1 2))
(car (lambda (m) (m 1 2))) ; 展开 cons
((lambda (m) (m 1 2)) (lambda (p q) p))) ; 展开 car
((lambda (p q) p) ; 过程参数代入 m
1 2)
1
大佬的答案:
第二步
展开 car,代换 z不是很理解,为什么把 z 变成了 lambda 表达式,而不是把 z 看作一个过程,随后是把过程(lambda (p q) p))当做过程 z 的参数?下面是我的理解: