Cache
The cache library provides methods for modifying the internal Instance cache.
Note that some of the methods are only available as global functions. They will be tagged with 🌎 Global
.
cache.invalidate
function invalidate(object: Instance): ()
Deletes object
from the Instance cache. Effectively invalidates object
as a reference to the underlying Instance.
Parameters
object
- The object to invalidate.
Example
local Lighting = game:GetService("Lighting")
cache.invalidate(game:GetService("Lighting"))
print(Lighting, Lighting == game:GetService("Lighting")) --> Lighting, false
cache.iscached
function iscached(object: Instance): boolean
Checks whether object
exists in the Instance cache.
Parameters
object
- The object to find.
Example
local Lighting = game:GetService("Lighting")
cache.invalidate(Lighting)
print(cache.iscached(Lighting)) --> false
cache.replace
function replace(object: Instance, newObject: Instance): ()
Replaces object
in the Instance cache with newObject
.
Parameters
object
- The object to replace.newObject
- The new object to replaceobject
with.
Example
local Lighting = game:GetService("Lighting")
local Players = game:GetService("Players")
cache.replace(Lighting, Players)
print(Lighting) --> Players
cloneref
🌎 Global
function cloneref(object: Instance): Instance
Returns a copy of the Instance reference to object
. This is useful for managing an Instance without directly referencing it.
Parameters
object
- The Instance to clone.
Example
local Lighting = game:GetService("Lighting")
local LightingClone = cloneref(Lighting)
print(Lighting == LightingClone) --> false
compareinstances
🌎 Global
function compareinstances(a: Instance, b: Instance): boolean
Returns whether objects a
and b
both reference the same Instance.
Parameters
a
- The first Instance to compare.b
- The second Instance to compare.
Example
local Lighting = game:GetService("Lighting")
local LightingClone = cloneref(Lighting)
print(Lighting == LightingClone) --> false
print(compareinstances(Lighting, LightingClone)) --> true
Last updated