S05001

错误代码

S05001

报错信息

A set does not support random access. RefId:S05001

错误原因

集合在实现上用的是哈希表,不支持随机访问。和集合相关的操作请参考集合

使用下标访问集合,或者使用 for 遍历集合时,会报这个错误,比如:

x=set(4 5 5 2 3 11 6)
// 使用下标访问集合
x[0]
// 使用 for 遍历集合
for (i in x) {}

解决办法

  1. 使用 in 来查询某个(或多个)元素是否存在集合里:
    x = set(1 2 3)
    1 in x  // true
    [1,3,4] in x  // [true, true, false] 
  2. 如果要遍历集合的元素,先调用 keys 将集合转换成向量:
    x = set(1 2 3)
    for (i in x.keys()) {
        // ...
    }