单一方法
function newObject(value)
	return function(action,v)
	if action == "get" then return value
	elseif action == "set" then value = v
	else error("invalid action")
	end
	end
end

d = newObject(0)
print(d("get")) --0
d("set",100)
print(d("get")) --100
Lua


value值应该就是那个非局部变量了,每个对象用到一个closure,比用一个table高效。


首页 我的博客
粤ICP备17103704号