Dans Luau, nil représente l'inexistence ou le néant.Il est différent de toute autre valeur ou taperde données.Vous pouvez l'utiliser pour détruire une variable ou supprimer une valeur dans une table.C'est la seule valeur autre que qui ne se traduit pas en .
Luau a un collecteur de déchets qui supprime les données qui ne sont plus accessibles par aucun script.Pour une meilleure performance, redéfinissez les grandes variables comme nil dans les scripts de longue exécution lorsque vous ne les avez plus besoin afin que le collecteur de garbage les supprime.
local variableToDelete = 5print(variableToDelete) -- 5variableToDelete = nilprint(variableToDelete) -- néantlocal dictionaryTable = {Monday = 1,Tuesday = 2,Wednesday = 3}-- Valeur de sortie de la clé 'Tuesday'print(dictionaryTable.Tuesday) -- 2-- Effacer la clé 'Mardi'dictionaryTable.Tuesday = nil-- Valeur de sortie de la clé à nouveauprint(dictionaryTable.Tuesday) -- nil
Vous pouvez utiliser nil pour effacer certaines propriétés des objets.Par exemple, vous pouvez définir le Parent de l'objet à nil pour efficacement supprimer l'objet de l'expérience.Pour retourner l'objet à l'expérience après vous le supprimer, redistribuez le Parent .L'exemple suivant montre comment utiliser nil pour supprimer un Part :
local Workspace = game:GetService("Workspace")-- Créer une nouvelle briquelocal part = Instance.new("Part")-- Nouvelle partie parent dans l'espace de travail, ce qui la rend visiblepart.Parent = Workspacetask.wait(1)-- Enlever la partie de la vue mais pas de la mémoirepart.Parent = niltask.wait(1)-- La partie existe toujours parce qu'elle est référencée par la variable "part", donc elle peut être retournée à la voirpart.Parent = Workspacetask.wait(1)-- Enlever à nouveau la partie de la vuepart.Parent = nil-- Supprimer la référence à une partie pour qu'elle soit récupérée par le collecteur de déchetspart = nil