In Luau, nil rappresenta l'assenza o il nulla. È diverso da qualsiasi altro valore o tipo di dato. Puoi usarlo per distruggere una variabile o rimuovere un valore in una tabella. È l'unico valore oltre a false che non si valuta come true.
Luau ha un garbage collector che rimuove i dati che non sono più accessibili da nessuno script. Per le migliori prestazioni, ridisegna le variabili grandi come nil negli script a lungo termine quando non ne hai più bisogno, così il garbage collector le rimuove.
local variableToDelete = 5print(variableToDelete) -- 5variableToDelete = nilprint(variableToDelete) -- nillocal dictionaryTable = {Lunedi = 1,Martedi = 2,Mezzogiorno = 3}-- Valore di output della chiave 'Martedi'print(dictionaryTable.Martedi) -- 2-- Pulisci la chiave 'Martedi'dictionaryTable.Martedi = nil-- Valore di output della chiave di nuovoprint(dictionaryTable.Martedi) -- nil
Puoi usare nil per cancellare alcune proprietà degli oggetti. Ad esempio, puoi impostare il Parent di un oggetto a nil per rimuovere effettivamente l'oggetto dal gioco. Per riportare l'oggetto nel gioco dopo averlo rimosso, riassegna il Parent. Il seguente esempio dimostra come usare nil per rimuovere un Part:
local Workspace = game:GetService("Workspace")-- Crea un nuovo mattonelocal part = Instance.new("Part")-- Imposta il nuovo parte come genitore dello spazio di lavoro, rendendolo visibilepart.Parent = Workspacetask.wait(1)-- Rimuovi la parte dalla vista ma non dalla memoriapart.Parent = niltask.wait(1)-- La parte esiste ancora perché è referenziata dalla variabile "part", quindi può essere riportata alla vistapart.Parent = Workspacetask.wait(1)-- Rimuovi di nuovo la parte dalla vistapart.Parent = nil-- Pulisci la referenza alla parte così verrà raccolta dal garbage collectorpart = nil