Lua forループエラー

425 ワード

function f()
    local i;
    for i = 1, 10,1 do
        print("Before Add i = " .. i);

        i = i + i;
        print("after Add i = " .. i);
    end
end

f();

上記のコードのように、i印刷の結果は、1,2,2,3,4,4,5,5,6,7,7,8,8…つまり、i=i+1は機能せず、forループが1回実行されると、iの値は現在のループのインデックスにリセットされます.もう一つの言い方では、Luaの中のforは条件判断ではなく、iに対してどのように操作しても、ここのループは10回実行されます.
PS:iの自増操作をしたいなら、Whileに変えて、変数で自分で条件判断をしましょう!