如何迭代 Nim 中的元组?

How to iterate over a tuple in Nim?

假设我有一个程序 getTuple(): (int, int, int)。如何遍历返回的元组? items 好像没有为 tuple 定义,所以我不能做 for i in getTuple().

我最初让这个返回一个 sequence,这被证明是一个瓶颈。我可以在不影响性能的情况下让它工作吗?我想作为最后的手段我可以展开我的循环,但是有什么办法可以解决这个问题吗?

好的,我明白了。您可以遍历元组的字段:

let t = (2,4,6)

for x in t.fields:
  echo(x)

I initially had this returning a sequence, which proved to be a bottleneck. Can I get this to work without affecting performance?

改用 array[N, int],它没有间接寻址。为什么 seq 性能不够?您可能希望最初使用 newSeq[int](size) 将其分配到正确的大小。