Garry's Mod Wiki

Garry's Mod Wiki

  any getmetatable( any object )

Description

Returns the metatable of an object. This function obeys the metatable's __metatable field, and will return that field if the metatable has it set.

Use debug.getmetatable if you want the true metatable of the object.

If you want to modify the metatable, check out FindMetaTable

Arguments

1 any object
The value to return the metatable of.

Returns

1 any
The metatable of the value. This is not always a table.

Example

Use a table's metatable and alter it.

print(getmetatable(Pupil).__index.GetName(Pupil)) -- getmetatable(Pupil) will return Pupil_meta. -- Same as print(Pupil:GetName()) -- This is what the Lua interpreter basically does. (When __index is a table.) getmetatable(Pupil).SetName = function(self, newName) self.name = newName end -- We're adding a new method to Pupil's metatable print(getmetatable(Pupil).GetName(Pupil)) -- Still the same, because Pupil_meta.__index is Pupil_meta.
Output: "John Doe"

This site is a community mirror of the official Garry's Mod wiki.. This site is not maintained by Facepunch Studios.

Page content is automatically updated four times a day. Edits and history are not available.

Last Parsed: Loading...