Lua优化——认识局部变量中的常见陷阱
Posted 侑虎科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua优化——认识局部变量中的常见陷阱相关的知识,希望对你有一定的参考价值。
1.1 未被使用的局部变量
local bar=5
function fun(x,y)
print(x)
end
在如下代码中:
for i=1,100 do
print("huh")
end
local num
print(num.string)
local num=5
num=6
1.6 设置了一个参数变量,但从未被访问
function fun(num)
num=6
end
for i=1,100 do
i=2
end
local bar={"aaa"}
bar.dd='ff'
local o = 5
print(o)
o=6
function fun(x)
x=3
print(x)
end
for index=1,100 do
index=2
print(index)
end
2.4 未被使用的一个表文字域的值
在如下代码中:
local bar = {b = 1, b = 2}
2.5 访问未被初始化的局部变量
local bar
if condition()
bar={}
else
print(bar)
local function fun(st)
if not st then
st = {}
end
st.aa=2
end
local num
fun(num)
print(num)
>nil
local bar
bar.a=2
bar={}
local bar={}
local bar={"huh"}
3.2 重定义了一个参数变量
function fun(bar)
local bar={}
end
for i=1,100 do
local i={}
end
3.4 覆盖了一个局部变量
local bar
for i=1,100 do
local bar={}
end
function fun(x)
if condition() then
local x={}
print(x)
else
print(x)
end
end
for i=1,100 do
if condition() then
local i={"huh"}
print(i)
else
print(i)
end
local bar
function fun()
local bar={}
end
function fun(bar)
local function fun2()
local bar={}
end
return fun2
end
3.9 覆盖了一个上值循环变量
for index=1,100 do
local function fun()
local index={}
end
end
以上是关于Lua优化——认识局部变量中的常见陷阱的主要内容,如果未能解决你的问题,请参考以下文章