序列
序列类似数组但是动态长度,可以在运行时改变(像字符串)。因为序列是大小可变的它们总是分配在堆上,被垃圾回收。
序列总是以从零开始的 int 类型索引。 len , low 和 high 操作符也可用于序列。 x[i] 标记可以用于访问 x 的第i个元素。
序列可以用数组构造器 [] 数组到序列操作符 @ 构成。另一个为序列分配空间的方法是调用内置 newSeq 过程。
序列可以传递给一个开放数组形参。
Example:
- var
- x: seq[int] # 整数序列引用
- x = @[1, 2, 3, 4, 5, 6] # @ 把数组转成分配在堆上的序列
序列变量用 @[] 初始化。
for 语句可以用一到两个变量当和序列一起使用。当你使用一个变量的形式,变量持有序列提供的值。 for 语句是在 system 模块中的 items() 迭代器结果上迭代。 但如果你使用两个变量形式,第一个变量将持有索引位置,第二个变量持有值。这里 for 语句是在 system 模块中的 pairs() 迭代器结果上迭代。例如:
- for value in @[3, 4, 5]:
- echo value
- # --> 3
- # --> 4
- # --> 5
- for i, value in @[3, 4, 5]:
- echo "index: ", $i, ", value:", $value
- # --> index: 0, value:3
- # --> index: 1, value:4
- # --> index: 2, value:5