map-indexed
clojure.core.reducers 有替代方案吗?我想要一些懒散的东西r/map
(没有构建新的序列).
我怀疑你真的想用的是一个转换器,因为map-indexed
有一个1元数的版本(一样map
,filter
和许多其他核心功能)返回一个转换器.传感器是可组合的,不会创建中间序列.这是一个简短的例子:
(def xf (comp
(map-indexed (fn [i value] [i value]))
(filter (fn [[i value]] (odd? i)))
(map second)))
Run Code Online (Sandbox Code Playgroud)
这表示:使用生成索引向量map-indexed
,仅过滤掉索引为奇数的向量,并获取第二个元素.这是一种冗长的说法,(filter odd? collection)
但它只是出于示例目的.
你可以使用它into
:
(into [] xf "ThisIsATest")
=> [\h \s \s \T \s]
Run Code Online (Sandbox Code Playgroud)
或者您可以使用该transduce
功能并应用于str
结果:
(transduce xf str "ThisIsATest")
=> "hssTs"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
105 次 |
最近记录: |