clojure complement函数

作者: admin 日期: 2017-12-28 10:33:35 人气: - 评论: 0

complement函数就是返回一个与目标函数接收同样参数但是返回结果相反的函数


(
(fn [x]

(filter (complement sequential?)
(rest (tree-seq sequential? seq x)))
)
'((1 2) 3 [4 [5 6]]))
=> (1 2 3 4 5 6)


等价于


(
(fn [x]

(filter #(not (sequential? %))
(rest (tree-seq sequential? seq x)))
)
'((1 2) 3 [4 [5 6]]))


=> (1 2 3 4 5 6)


我们发现complement其实是一种柯里化简化了匿名函数的编写

相关内容

发表评论
更多 网友评论0 条评论)
暂无评论

Copyright © 2012-2014 我的代码板 Inc. 保留所有权利。

页面耗时0.0241秒, 内存占用1.82 MB, 访问数据库13次

闽ICP备15009223号-1