Dalam Luau, nil mewakili ketidakberadaan atau ketiadaan. Itu berbeda dari nilai atau tipe data lainnya. Anda dapat menggunakannya untuk menghancurkan variabel atau menghapus nilai dalam tabel. Itu adalah satu-satunya nilai selain false yang tidak dievaluasi menjadi true.
Luau memiliki pengumpul sampah yang menghapus data yang tidak lagi dapat diakses oleh skrip manapun. Untuk kinerja terbaik, tetapkan kembali variabel besar sebagai nil dalam skrip yang berjalan lama ketika Anda tidak membutuhkannya lagi agar pengumpul sampah dapat menghapusnya.
local variableToDelete = 5print(variableToDelete) -- 5variableToDelete = nilprint(variableToDelete) -- nillocal dictionaryTable = {Monday = 1,Tuesday = 2,Wednesday = 3}-- Output nilai dari kunci 'Tuesday'print(dictionaryTable.Tuesday) -- 2-- Hapus kunci 'Tuesday'dictionaryTable.Tuesday = nil-- Output nilai kunci lagiprint(dictionaryTable.Tuesday) -- nil
Anda dapat menggunakan nil untuk menghapus beberapa properti dari objek. Misalnya, Anda dapat menetapkan Parent dari suatu objek ke nil untuk secara efektif menghapus objek tersebut dari permainan. Untuk mengembalikan objek ke permainan setelah Anda menghapusnya, tetapkan kembali Parent. Contoh berikut menunjukkan cara menggunakan nil untuk menghapus Part:
local Workspace = game:GetService("Workspace")-- Buat sebuah brick barulocal part = Instance.new("Part")-- Parent bagian baru ke dalam workspace, sehingga dapat dilihatpart.Parent = Workspacetask.wait(1)-- Hapus bagian dari pandangan tetapi tidak dari memoripart.Parent = niltask.wait(1)-- Bagian masih ada karena dirujuk oleh variabel "part", sehingga dapat dikembalikan ke tampilanpart.Parent = Workspacetask.wait(1)-- Hapus bagian dari tampilan lagipart.Parent = nil-- Hapus referensi bagian sehingga dapat diambil oleh pengumpul sampahpart = nil