如何在 Nim 中迭代元组?

Imr*_*ran 11 nim-lang

假设我有一个程序getTuple(): (int, int, int)。如何迭代返回的元组?它看起来不像items是为tuple,所以我做不到for i in getTuple()

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

Imr*_*ran 10

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

let t = (2,4,6)

for x in t.fields:
  echo(x)
Run Code Online (Sandbox Code Playgroud)


def*_*ef- 3

我最初让这个返回一个序列,这被证明是一个瓶颈。我可以在不影响性能的情况下让它工作吗?

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