我正在学习Lua,可能对语言的工作原理没有很好的掌握,但我正在尝试为字符串库创建一个split函数:
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
如果我在返回之前将其打印出来,那么 values
不是nil,但是如果我调用t = string.split("hello world", " ")
,则t将为nil。我不太确定为什么我的桌子正在消失
答案 0 :(得分:2)
您的退货声明中有拼写错误。
vaules
而不是values
。
vaules
当然没有。
另一个建议:尽可能将变量置于本地。