ets:next/2
返回表的下一个键
用法:
next(Tab, Key1) -> Key2 | `$end_of_table`
返回在表 Tab 里紧随键 Key1 的下一个键 Key2。如果是 ordered_set 类型的表,Erlang 项顺序的下一个键将会被返回;如果是其他类型的表,表内部顺序的下一个键将被返回。如果表里已没有下一个键,则返回'$end_of_table'。
可用 ets:first/1 获取表的第一个键。
对于类型是 set、bag 或 duplicate_bat 的表,如果有并发更新了表,遍历将失败,除非使用 ets:safe_fixtable/2 函数对表进行保护锁定。如果是 ordered_set 类型的表,该函数将返回下一个键,即使下一个键的数据不再存在。
TableId = ets:new(test_ets_new, [set, named_table]), ets:insert(TableId, [{a, 1}, {b, 2}]), Key1 = ets:first(TableId), ets:next(TableId, Key1).
TableId = ets:new(test_ets_new, [set, named_table]), ets:insert(TableId, [{a, 1}, {b, 2}]), Key1 = ets:last(TableId), Key2 = ets:next(TableId, Key1), ets:next(TableId, Key2).