Erlang中文手册(Erldoc.com)  »  gb_trees  »  next/1
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

gb_trees:next/1

使用迭代器获取树的下一个节点

用法:

next(Iter1) -> none | {Key, Val, Iter2}

这个函数是通过调用 gb_trees:iterator/1 返回的迭代器 Iter1,来获取树里的键值。调用获取到的是一个 {Key, Val, Iter2} 格式的元组,Key 是迭代器引用 Iter1 最小的键,Val 就是跟键 Key 相关联的值,Iter2 是一个用来遍历剩下节点的新的迭代器。

Orddict = orddict:from_list([{pear, 7}, {orange, 5}, {apple, 2}]),
Tree = gb_trees:from_orddict(Orddict),
Iterator = gb_trees:iterator(Tree),
{Key, Val, NewIterator} = gb_trees:next(Iterator).

如果没有剩下节点,则返回一个原子 none。

Orddict = orddict:from_list([{pear, 7}]),
Tree = gb_trees:from_orddict(Orddict),
Iterator = gb_trees:iterator(Tree),
{_Key, _Val, NewIterator} = gb_trees:next(Iterator),
gb_trees:next(NewIterator).
Tree = gb_trees:empty(),
Iterator = gb_trees:iterator(Tree),
gb_trees:next(Iterator).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9