摘要:
mapcar:接受一个函数以及一个或多个列表,并返回把函数应用至每个列表的元素的结果,知道有的列表没有元素为止,结果为各次执行的返回值的汇总列表: CL-USER> (mapcar #'(lambda (x) (+ x 10)) '(1 2 3))(11 12 13)CL-USER> (mapcar #'+ '(1 2 3) '(5 6 7 8))(6 8 10) maplist:同mapcar... 阅读全文
posted @ 2012-12-21 15:32
flowjacky
阅读(1009)
评论(0)
推荐(0)
摘要:
它接受一个函数和一个参数列表,并返回把传入函数应用在传入参数的结果:CL-USER> (apply #'+ '(1 2 3))6CL-USER> (+ 1 2 3)6CL-USER> (funcall #'+ 1 2 3 4)10CL-USER> (apply #'+ '(1 2 3 4))10 阅读全文
posted @ 2012-12-21 15:00
flowjacky
阅读(178)
评论(0)
推荐(0)
摘要:
我的理解:在一个函数或者某个语句块中可以定义或返回另一个函数,这个函数会依赖于包括它的函数或语句的某些变量,这个变量的传递就叫做闭包。正规定义:当函数引用到外部定义的变量时,这外部定义的变量称为自由变量(free variable)。函数引用到自由的词法变量时,称之为闭包(closure)。CL-USER> (defun add-to-list (num lst) (mapcar #'(lambda (x) (+ x num)) lst))ADD-TO-LISTCL-USER> (add-to-list 5 '(1 2 3))(6 7 8)CL-USER> ( 阅读全文
posted @ 2012-12-21 10:56
flowjacky
阅读(147)
评论(0)
推荐(0)

浙公网安备 33010602011771号