非常教程

Clojure 1.8参考手册

Clojure 1.8

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

来源

Clojure 1.8

Clojure 是一种运行在 Java 平台上的 Lisp 方言,Lisp 是一种以表达性和功能强大著称的编程语言,但人们通常认为它不太适合应用于一般情况,而 Clojure 的出现彻底改变了这一现状。如今,在任何具备 Java 虚拟机的地方,您都可以利用 Lisp 的强大功能。

版本 1.8
发布版本 1.8

Clojure 1.8目录

1.Clojure 1.8