我对Lua中的物体不太了解,所以请耐心等待。
示例代码:更改对象中表的值会更改所有对象的值。我如何才能让它只针对特定对象进行更改?
Colors = {
primary = "BF2626",
primaryGradient = {"CC2929", "B32424"}
}
function Colors:new(o)
o = o or {}
setmetatable(o, self)
self.__index = self
return o
end
function Colors:setPrimaryGradient()
self.primaryGradient[1] ="Changed"
end
function Colors:setPrimary()
self.primary ="00FF00"
end
a =Colors:new()
b =Colors:new()
b:setPrimaryGradient()
b:setPrimary()
print(a.primaryGradient[1])
print(b.primaryGradient[1])
print(a.primary)
print(b.primary)
输出:
Changed
Changed
BF2626
00FF00
我在做什么错?
为什么变量主要为保留每个对象的值,但表不?
谢谢。
这是有道理的。 谢谢Nicol! – 2013-03-17 01:18:11