Lua中pairs和iparis的区别

paris会遍历所有key

local test = {
    [1] = "hello",
    [3] = "hi",
    ["testname"] = "name",
    [4] = "45",
    [5] = 123
}

for k, v in pairs(test) do
    print("k=" .. k .. ", v=" .. v)
end

输出结果如下:

k=1, v=hello
k=3, v=hi
k=4, v=45
k=5, v=123
k=testname, v=name
[Finished in 0.8s]

iparis只会遍历k为数字的,每次一个,到第一个数字不连续为止

local test = {
    [1] = "hello",
    [2] = "hi",
    ["testname"] = "name",
    [4] = "45",
    [5] = 123
}

for k, v in ipairs(test) do
    print("k=" .. k .. ", v=" .. v)
end

输出结果如下:

k=1, v=hello
k=2, v=hi
[Finished in 0.6s]

如果k中没1就不输出

local test = {
    [6] = "hello",
    [2] = "hi",
    ["testname"] = "name",
    [4] = "45",
    [5] = 123
}

for k, v in ipairs(test) do
    print("k=" .. k .. ", v=" .. v)
end

输出如下:

[Finished in 0.4s]

Lua中pairs和iparis的区别_第1张图片

你可能感兴趣的:(lua)