level 10
在newlisp看到的,覺得挺好用,用Scheme寫了個
(define (curry f . args)
--(lambda (x)
----(apply f (append args
---------------------(list x)))))
作用就是生成匿名函數,把一個函數分解成一個單因子匿名函數
((curry + 1) 9)
=>10
那么(map (lambda (x) (+ 1 x)) '(1 2 3 4))也可以簡寫成
(map (curry + 1) '(1 2 3 4))了
2012年11月29日 03点11分
1