ゼロ

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Luau では、 nil は存在しないことまたは空白を表します。他の値またはデータタイプとは異なります。変数を破壊したり、テーブルの値を削除したりするのに使用できます。それは false 以外の唯一の値で、 true に評価されない。

Luau には ゴミ集め機 があり、スクリプトでアクセスできなくなったデータを削除します。最高のパフォーマンスを得るには、大きな変数を再定義して nil 長時間実行されるスクリプトで必要がなくなったので、ガビングコレクターが削除するようにします。


local variableToDelete = 5
print(variableToDelete) -- 5
variableToDelete = nil
print(variableToDelete) -- なし
local dictionaryTable = {
Monday = 1,
Tuesday = 2,
Wednesday = 3
}
-- 「火曜日」キーの出力値
print(dictionaryTable.Tuesday) -- 2
-- 「火曜日」キーをクリア
dictionaryTable.Tuesday = nil
-- キーの出力値再び
print(dictionaryTable.Tuesday) -- nil

nil を使用して、オブジェクトのいくつかのプロパティをクリアできます。たとえば、オブジェクトの Parentnil に設定して、効果的にオブジェクトをエクスペリエンスから削除できます。オブジェクトを削除した後、エクスペリエンスに戻すには、Parent を再割り当てします。次の例では、nil を使用して Part を削除する方法を示します:


local Workspace = game:GetService("Workspace")
-- 新しいブリックを作成
local part = Instance.new("Part")
-- ワークスペースに新しいパーツを親にして、表示可能にする
part.Parent = Workspace
task.wait(1)
-- パーツをビューから削除しますが、メモリからは削除しません
part.Parent = nil
task.wait(1)
-- パーツはまだ存在しているので、変数 "パーツ" に参照されているので、表示に戻すことができます
part.Parent = Workspace
task.wait(1)
-- パーツを再びビューから削除
part.Parent = nil
-- パーツ参照をクリアして、ガビジェットコレクターがピックアップします
part = nil