function checkId(id)
for k,v in pairs(info) do
if id == tostring(k) then
return true
break -- break out of loop. mission accomplished.
end
end
end
问题内容: 在这段代码中,为什么不按我的意愿初始化我的数组?是不是for-each循环并非旨在做到这一点,或者我只是没有正确使用它? 问题答案: for-each循环不适用于这种情况。您不能使用for-each循环来初始化数组。您的代码: 将转换为以下内容: 如果这是一个对象数组,它仍然会失败。基本上,for-each依次将集合或数组中的每个条目分配给您提供的变量,然后可以使用该变量。该变量 不
似乎“for in”循环隐式调用函数迭代器,参数状态为:i(s) 任何人都能告诉我,发生了什么?
编辑:为什么在局部变量上这么快?(~16秒进行相同的迭代,但对函数内部的局部变量进行迭代)
我试图在for循环中获得for循环,因此输出如下: 我希望输出显示一个正方形 我不知道它为什么不这样做。下面是我的代码:
问题内容: 这有效: 但是,这不是: 在第二个示例中,数组未添加到自身。 问题答案: 是的,不是 您所做的可能也是有效的代码,但是现在您正在做 它适用于数字类型(我假设您有)。没有数组索引的简化示例: 样品: 输出: -5 -5 5 5 为了清晰起见,从评论中复制: 您基本上是在说。在这种情况下,仅需指示它是一个正整数即可。这是有效的代码,但这不是您想要的。
我想在一个并行外部循环中运行一个包含for循环(应该并行运行)的函数。因此看起来如下所示: 给定上面的代码,我希望在函数中为循环创建5个并行线程,并且希望这5个线程中的每个线程创建另一个线程来运行自己的并行for循环。