Lua中返回的table是nil

我正在学习Lua,可能还不太熟悉这种语言的工作原理,但我正在尝试为字符串库创建一个分割函数:

string.split = function(str, 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

    -- 清空最后一个元素
    table.insert(values,currentValue)

    return vaules

end

如果在返回之前打印出values,它不是nil,但如果我调用t = string.split("hello world", " "),t将是nil。我不太确定为什么我的table消失了

点赞
用户2858170
用户2858170

你的返回语句中有一个打字错误。

vaules

应该是 values

当然,vaules 的值是 nil

另一个建议是:尽可能在局部范围内声明变量。

2017-06-19 20:44:12