map-indexedclojure.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 次 |
| 最近记录: |