Em Luau, nil representa a não existência ou o vazio.É diferente de qualquer outro valor ou digitarde dado.Você pode usá-lo para destruir uma variável ou remover um valor em uma tabela.É o único valor diferente de false que não se avalia para true.
O Luau tem um coletor de lixo que remove dados que não são mais acessíveis por nenhum script.Para melhor performance, redefina grandes variáveis como nil em scripts de longa duração quando você não precisar mais delas para que o coletor de lixo as remova.
local variableToDelete = 5print(variableToDelete) -- 5variableToDelete = nilprint(variableToDelete) -- nenhumlocal dictionaryTable = {Monday = 1,Tuesday = 2,Wednesday = 3}-- Valor de saída da chave 'Tuesday'print(dictionaryTable.Tuesday) -- 2-- Limpe a chave 'Tuesday'dictionaryTable.Tuesday = nil-- Valor de saída da chave novamenteprint(dictionaryTable.Tuesday) -- nil
Você pode usar nil para limpar algumas propriedades de objetos.Por exemplo, você pode definir o Parent de um objeto para nil para remover efetivamente o objeto da experiência.Para devolver o objeto à experiência depois de removê-lo, reative o Parent .O seguinte exemplo mostra como usar nil para remover um Part :
local Workspace = game:GetService("Workspace")-- Criar um novo blocolocal part = Instance.new("Part")-- Nova parte parente para o espaço de trabalho, tornando-a visívelpart.Parent = Workspacetask.wait(1)-- Remova a parte da visão, mas não da memóriapart.Parent = niltask.wait(1)-- A peça ainda existe porque é referenciada pela variável "parte", então pode ser retornada para verpart.Parent = Workspacetask.wait(1)-- Remova a parte da visão novamentepart.Parent = nil-- Limpe a referência de peça para que ela seja coletada pelo coletor de lixopart = nil