首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

clojure.walk

完整名称空间名称:clojure.walk

概述

代码语言:javascript
复制
This file defines a generic tree walker for Clojure data
structures.  It takes any data structure (list, vector, map, set,
seq), calls a function on every element, and uses the return value
of the function in place of the original.  This makes it fairly
easy to write recursive search-and-replace functions, as shown in
the examples.

Note: "walk" supports all Clojure data structures EXCEPT maps
created with sorted-map-by.  There is no (obvious) way to retrieve
the sorting function.

公共变量和函数

keywordize-keys函数

代码语言:javascript
复制
Usage: (keywordize-keys m)
代码语言:javascript
复制
Recursively transforms all map keys from strings to keywords.

在Clojure版本1.1中添加

macroexpand-all函数

代码语言:javascript
复制
Usage: (macroexpand-all form)
代码语言:javascript
复制
Recursively performs all possible macroexpansions in form.

在Clojure版本1.1中添加

postwalk函数

代码语言:javascript
复制
Usage: (postwalk f form)
代码语言:javascript
复制
Performs a depth-first, post-order traversal of form.  Calls f on
each sub-form, uses f's return value in place of the original.
Recognizes all Clojure data structures. Consumes seqs as with doall.

在Clojure版本1.1中添加

postwalk-demo功能

代码语言:javascript
复制
Usage: (postwalk-demo form)
代码语言:javascript
复制
Demonstrates the behavior of postwalk by printing each form as it is
walked.  Returns form.

在Clojure版本1.1中添加

postwalk-replace函数

代码语言:javascript
复制
Usage: (postwalk-replace smap form)
代码语言:javascript
复制
Recursively transforms form by replacing keys in smap with their
values.  Like clojure/replace but works on any data structure.  Does
replacement at the leaves of the tree first.

在Clojure版本1.1中添加

prewalk函数

代码语言:javascript
复制
Usage: (prewalk f form)
代码语言:javascript
复制
Like postwalk, but does pre-order traversal.

在Clojure版本1.1中添加

prewalk-demo函数

代码语言:javascript
复制
Usage: (prewalk-demo form)
代码语言:javascript
复制
Demonstrates the behavior of prewalk by printing each form as it is
walked.  Returns form.

在Clojure版本1.1中添加

prewalk-replace函数

代码语言:javascript
复制
Usage: (prewalk-replace smap form)
代码语言:javascript
复制
Recursively transforms form by replacing keys in smap with their
values.  Like clojure/replace but works on any data structure.  Does
replacement at the root of the tree first.

在Clojure版本1.1中添加

stringify-keys函数

代码语言:javascript
复制
Usage: (stringify-keys m)
代码语言:javascript
复制
Recursively transforms all map keys from keywords to strings.

在Clojure版本1.1中添加

walk函数

代码语言:javascript
复制
Usage: (walk inner outer form)
代码语言:javascript
复制
Traverses form, an arbitrary data structure.  inner and outer are
functions.  Applies inner to each element of form, building up a
data structure of the same type, then applies outer to the result.
Recognizes all Clojure data structures. Consumes seqs as with doall.

在Clojure版本1.1中添加

扫码关注腾讯云开发者

领取腾讯云代金券