如何迭代 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)
将其分配到正确的大小。
假设我有一个程序 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)
将其分配到正确的大小。