I do not know how to use __index. I started using metatables today and I somewhat understand it. I looked everywhere on how to do this and I do not understand.
Resources:
Here is my code but I do not know what to do.
-- Module
local Class = {}
--Class.__index = Class
function Class.new()
local self = setmetatable({},Class)
self.Genie = "Off"
self.__index = function(self,i)
print("Testy") -- Not firing
return self[i]
end
return self
end
return Class
-- Local Script
local Class = require(game.ReplicatedStorage.Class)
local c = Class.new()
print(c.Genie)
None of this makes sense it is just a test.
Where it says print(“Testyy”), It is not firing. How do I fix this?
self is not the metatable of anything, the a.__index = a idiom is popular in OOP so you can get the methods of the class on an instance. Not sure what you were trying to do here.