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
value值应该就是那个非局部变量了,每个对象用到一个closure,比用一个table高效。