0
有關步驟:方案替代模式
(define (double fn) (lambda (x) (fn (fn x))))
當調用:
(((double (double double)) 1+) 0)
這是正確的:
(double (lambda (x) (double (double x) 1+) 0))
((lambda (x) (double^4 x) 1+) 0)
((double^4 1+) 0)
(16+ 0)
16
同樣,當調用:
(((((double double) double) double) 1+) 0)
這是正確的:
(((double double (double double) double) 1+) 0)
(double (double (lambda (x) (double (double x) 1+) 0)))
(double (lambda (x) (double^4 1+) 0))
((lambda (x) (double^16 x) 1+) 0)
((double^16 1+) 0)
(256+ 0)
256
什麼是1 +,16 +,256 +,double^4和double^16? – leppie 2013-02-08 20:02:53
[doubleling function]的可能重複(http://stackoverflow.com/questions/14742866/doubling-function) – dyoo 2013-02-09 02:20:27