clojure.walk

clojure.walk

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

概述

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函数

Usage: (keywordize-keys m)

Recursively transforms all map keys from strings to keywords.

在Clojure版本1.1中添加

来源

macroexpand-all函数

Usage: (macroexpand-all form)

Recursively performs all possible macroexpansions in form.

在Clojure版本1.1中添加

来源

postwalk函数

Usage: (postwalk f form)

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功能

Usage: (postwalk-demo form)

Demonstrates the behavior of postwalk by printing each form as it is walked. Returns form.

在Clojure版本1.1中添加

来源

postwalk-replace函数

Usage: (postwalk-replace smap form)

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函数

Usage: (prewalk f form)

Like postwalk, but does pre-order traversal.

在Clojure版本1.1中添加

来源

prewalk-demo函数

Usage: (prewalk-demo form)

Demonstrates the behavior of prewalk by printing each form as it is walked. Returns form.

在Clojure版本1.1中添加

来源

prewalk-replace函数

Usage: (prewalk-replace smap form)

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函数

Usage: (stringify-keys m)

Recursively transforms all map keys from keywords to strings.

在Clojure版本1.1中添加

来源

walk函数

Usage: (walk inner outer form)

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中添加

来源