std::ops::Index
特征由支持数组下标表示法的类型实现。看来大多数实现Index
的类型也有len
方法,但它不是特征的一部分,所以你不能认为它存在。因此,我发现自己编写专门用于切片的代码(它有一个len
方法),但我更喜欢更一般。
是否存在Index
的子引用指定len
方法或以其他方式显示允许的索引范围?
答案 0 :(得分:1)
是否存在
Index
的子引用指定len
方法或以其他方式显示允许的索引范围?
据我所知,不是在标准库中。
但我会注意到,你似乎误解了:
Index
必须返回连续范围的键的结果Index
此连续范围从0 这两个假设都是 因此,从本质上讲,您要求的是特征层次结构: 当然, 注意:例如,可以为len
在这里有用的必要条件(因为我认为你有兴趣在调用[]
之前检查,其中密钥存在)。< / p>
Index
,允许按键查询元素RangeIndex
,允许按键查询元素,并保证有效键形成连续范围; RangeIndex
可以使用range
方法返回Range
个有效密钥ZeroBasedRangeIndex
,允许通过数字键查询元素,并保证有效格式从0
开始是连续的范围; ZeroBasedRangeIndex
可以使用len
方法返回有效密钥的数量IndexMut
必须重复这些。BTreeMap<K, V>
实施Index<K, Output=V>
...