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
当然是零。
另一个建议:尽可能使变量成为本地变量。
我正在学习 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
当然是零。
另一个建议:尽可能使变量成为本地变量。