clojure.zip

clojure.zip

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

概述

Functional hierarchical zipper, with navigation, editing, and enumeration. See Huet

公共变量和函数

append-child 函数

Usage: (append-child loc item)

Inserts the item as the rightmost child of the node at this loc, without moving

在Clojure版本1.0中添加

来源

branch?函数

Usage: (branch? loc)

Returns true if the node at loc is a branch

在Clojure版本1.0中添加

来源

children函数

Usage: (children loc)

Returns a seq of the children of node at loc, which must be a branch

在Clojure版本1.0中添加

来源

down函数

Usage: (down loc)

Returns the loc of the leftmost child of the node at this loc, or nil if no children

在Clojure版本1.0中添加

来源

编辑函数

Usage: (edit loc f & args)

Replaces the node at this loc with the value of (f node args)

在Clojure版本1.0中添加

来源

end?函数

Usage: (end? loc)

Returns true if loc represents the end of a depth-first walk

在Clojure版本1.0中添加

来源

insert-child功能

Usage: (insert-child loc item)

Inserts the item as the leftmost child of the node at this loc, without moving

在Clojure版本1.0中添加

来源

insert-left函数

Usage: (insert-left loc item)

Inserts the item as the left sibling of the node at this loc, without moving

在Clojure版本1.0中添加

来源

insert-right函数

Usage: (insert-right loc item)

Inserts the item as the right sibling of the node at this loc, without moving

在Clojure版本1.0中添加

来源

left函数

Usage: (left loc)

Returns the loc of the left sibling of the node at this loc, or nil

在Clojure版本1.0中添加

来源

leftmost函数

Usage: (leftmost loc)

Returns the loc of the leftmost sibling of the node at this loc, or self

在Clojure版本1.0中添加

来源

lefts函数

Usage: (lefts loc)

Returns a seq of the left siblings of this loc

在Clojure版本1.0中添加

来源

make-node功能

Usage: (make-node loc node children)

Returns a new branch node, given an existing node and new children. The loc is only used to supply the constructor.

在Clojure版本1.0中添加

来源

next函数

Usage: (next loc)

Moves to the next loc in the hierarchy, depth-first. When reaching the end, returns a distinguished loc detectable via end?. If already at the end, stays there.

在Clojure版本1.0中添加

来源

节点函数

Usage: (node loc)

Returns the node at loc

在Clojure版本1.0中添加

来源

path函数

Usage: (path loc)

Returns a seq of nodes leading to this loc

在Clojure版本1.0中添加

来源

prev函数

Usage: (prev loc)

Moves to the previous loc in the hierarchy, depth-first. If already at the root, returns nil.

在Clojure版本1.0中添加

来源

移除函数

Usage: (remove loc)

Removes the node at loc, returning the loc that would have preceded it in a depth-first walk.

在Clojure版本1.0中添加

来源

替换函数

Usage: (replace loc node)

Replaces the node at this loc, without moving

在Clojure版本1.0中添加

来源

right函数

Usage: (right loc)

Returns the loc of the right sibling of the node at this loc, or nil

在Clojure版本1.0中添加

来源

rightmost函数

Usage: (rightmost loc)

Returns the loc of the rightmost sibling of the node at this loc, or self

在Clojure版本1.0中添加

来源

rights函数

Usage: (rights loc)

Returns a seq of the right siblings of this loc

在Clojure版本1.0中添加

来源

根函数

Usage: (root loc)

zips all the way up and returns the root node, reflecting any changes.

在Clojure版本1.0中添加

来源

SEQ-zip函数

Usage: (seq-zip root)

Returns a zipper for nested sequences, given a root sequence

在Clojure版本1.0中添加

来源

up函数

Usage: (up loc)

Returns the loc of the parent of the node at this loc, or nil if at the top

在Clojure版本1.0中添加

来源

矢量-压缩函数

Usage: (vector-zip root)

Returns a zipper for nested vectors, given a root vector

在Clojure版本1.0中添加

来源

xml-zip函数

Usage: (xml-zip root)

Returns a zipper for xml elements (as from xml/parse), given a root element

在Clojure版本1.0中添加

来源

zipper函数

Usage: (zipper branch? children make-node root)

Creates a new zipper structure. branch? is a fn that, given a node, returns true if can have children, even if it currently doesn't. children is a fn that, given a branch node, returns a seq of its children. make-node is a fn that, given an existing node and a seq of children, returns a new branch node with the supplied children. root is the root node.

在Clojure版本1.0中添加

来源