我们说我有一个程序getTuple(): (int, int, int)
。如何迭代返回的元组? items
的定义tuple
似乎没有,因此我无法for i in getTuple()
。
我最初让这个返回sequence
,这被证明是一个瓶颈。我可以在不影响性能的情况下使用它吗?我想作为最后的手段,我可以展开我的循环,但有没有办法解决这个问题?
答案 0 :(得分:4)
好的,我想出来了。您可以迭代元组的字段:
let t = (2,4,6)
for x in t.fields:
echo(x)
答案 1 :(得分:2)
我最初有这个返回一个序列,这被证明是一个瓶颈。我可以在不影响性能的情况下使用它吗?
使用array[N, int]
代替,它没有间接。为什么seq性能不够?您可能希望最初使用newSeq[int](size)
将其分配到正确的大小。