在嵌套循环中重用相同的未使用变量是否安全?

在某些 Lua 脚本中(如果需要,在某些 Redis 脚本中),我们有如下构造:

for _, user_id in ipairs(user_ids) do
    for _, product_id in ipairs(product_ids) do
        -- Do some things with user_id and product_id.
    end
end

在两个循环中的索引都被放在变量 _ 中,因为我们并不关心它。

但是我担心的是,在嵌套循环中重复使用相同的变量是否安全(即使它没有使用),还是会导致未定义的行为。这是安全的吗?

点赞
用户107090
用户107090

手册明确说明for循环隐式地被do ... end块所包围,该块包含循环控制变量作为本地变量。

2015-08-21 17:59:45