(define Y
(lambda (F)
(let ((W (lambda (x)
(F (lambda arg (apply (x x) arg))))))
(W W))))
(define F1
(lambda (func-arg)
(lambda (n)
(if (zero? n)
"_/ \\"
(string-append "_/ \\" (func-arg (- n 1)))))))
(define F2
(lambda (func-arg)
(lambda (n)
(if (zero? n)
" \\_/"
(string-append " \\_/" (func-arg (- n 1)))))))
(define F
(lambda (func-arg)
(lambda (n)
(display ((Y F1) #x20))
(newline)
(display ((Y F2) #x20))
(newline)
(if (zero? n)
""
(func-arg (- n 1))))))
((Y F) #x40)
Scheme函數式編程小試
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.