In Luau, nil rappresenta l'esistenza o l'inesistenza. È diverso da qualsiasi altro valore o inserisci / scrividi dati. Puoi usarlo per distruggere una variabile o rimuovere un valore in una tabella. È l'unico valore oltre a false che non valuta a true .
Luau ha un garbage collector che rimuove i dati che non sono più accessibili da qualsiasi script. Per le migliori Prestazione, ridefinisci le grandi variabili come nil in gli script in esecuzione a lungo quando non li hai più necessari in modo che il garbage collector le rimuova.
local variableToDelete = 5print(variableToDelete) -- 5variableToDelete = nilprint(variableToDelete) -- nientelocal dictionaryTable = {Monday = 1,Tuesday = 2,Wednesday = 3}-- Valore di uscita della chiave 'Tuesday'print(dictionaryTable.Tuesday) -- 2-- Rimuovi la chiave 'Tuesday'dictionaryTable.Tuesday = nil-- Valore di uscita della chiave ancoraprint(dictionaryTable.Tuesday) -- nil
Puoi usare nil per cancellare alcune proprietà degli oggetti. Ad esempio, puoi impostare il Parent di un oggetto su nil per rimuoverlo effettivamente dall'esperienza. Per restituire l'oggetto all'esperienza dopo averlo rimosso, reassign
-- Crea un nuovo Mattonelocal part = Instance.new("Part")-- Parte nuova genitore nell'area di lavoro, rendendola visualizzabilepart.Parent = workspacetask.wait(1)-- Rimuovi la parte dalla vista, ma non dalla memoriapart.Parent = niltask.wait(1)-- La parte esiste ancora perché è riferita dalla variabile 'part', quindi può essere restituita per essere vistapart.Parent = workspacetask.wait(1)-- Rimuovi la parte dalla vista di nuovopart.Parent = nil-- Rimuovi il riferimento alla parte in modo che venga raccolta dal raccoglitore di rifiutipart = nil