我正在学习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
如果我在返回之前将其打印出来,values
不是 nil,但如果我调用 t = string.split("hello world", " ")
,t 将为 nil。我不太确定为什么我的桌子消失了
您的 return 语句中有拼写错误。
vaules
而不是values
.
当然,vaules
是零。
另一个建议:尽可能将变量放在本地。