问题描述
在文档中,我不清楚是否需要按 next 或 foldl 的顺序进行迭代(提到 foldr 与ordered_set 的顺序相反,因此推测 foldl 的顺序相同)或如果我可以使用 select 并依赖它被排序(假设ordered_set 表)
解决方法
我可以使用 select
并依赖它被排序吗(假设ordered_set 表)
对于ordered_set 类型的表,对象的访问顺序与第一次/下一次遍历的顺序相同。这意味着比赛 规范是针对具有第一个/下一个键的对象执行的 order 和对应的结果列表就是按照那个顺序 执行。
返回表 Tab 中的第一个键 Key。对于ordered_set 表, 返回 Erlang 术语顺序中的第一个键。
使用 match
和 select
函数的遍历可能不需要扫描
整个表取决于键的指定方式。一场比赛
具有完全绑定键(没有任何匹配变量)的模式将
将操作优化为没有任何表的单键查找
遍历。对于ordered_set,部分绑定的键将限制
遍历以仅扫描基于术语顺序的表的子集。
ordered_set
类型的表以随机顺序返回搜索结果对我来说毫无意义。