我對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