Lua return table 为零

Lua return table is nil

我正在学习 Lua,可能不太了解该语言的工作原理,但我正在尝试为字符串库创建一个拆分函数:

string.split = function(str, delimiter)

    -- A function which splits a string by a delimiter
    values = {}
    currentValue = ""
    for i = 1, string.len(str) do

        local character = string.sub(str, i, i)
        if(character == delimiter) then

            table.insert(values,currentValue)
            currentValue = ""

        else

            currentValue = currentValue..character

        end

    end

    -- clean up last item
    table.insert(values,currentValue)

    return vaules

end
如果我在 return 之前打印出来,

values 不是 nil,但是如果我调用 t = string.split("hello world", " "),t 将是 nil。我不太清楚为什么我的 table 消失了

您的 return 语句中有错字。

vaules

而不是 values

vaules当然是零。

另一个建议:尽可能使变量成为本地变量。