Menu
Coddy logo textTech

nil によるペアの削除

CoddyのLuaジャーニー「Fundamentals」セクションの一部 — レッスン 69/90。

キーに nil を代入すると、Luaはそのキーと値のペアをテーブルから実質的に削除します:

local settings = {
    ["volume"] = 80,
    ["difficulty"] = "normal",
    ["music"] = true
}

-- 難易度の設定を削除します
settings.difficulty = nil

-- これで、テーブル内に難易度のキーは存在しなくなります

キーと値のペアを削除するには、ドット記法またはブラケット記法のいずれかを使用できます。settings.difficulty = nilsettings["difficulty"] = nil のどちらも、まったく同じように動作します。

キーに nil を代入すると、そのキーはテーブルから完全に消滅します。後でそのキーにアクセスしようとすると、まるで最初からそのキーが存在しなかったかのように、結果として nil が返されます。

challenge icon

チャレンジ

簡単

辞書形式のテーブルから不要な設定を削除する方法を示す、ゲーム設定システムを作成してください。まず、gameConfig という名前のテーブルを作成し、以下のキーと値のペアを割り当てます。["graphics"] には文字列の "high" を、["sound"] には数値の 75 を、["difficulty"] には文字列の "normal" を、そして ["debug"] には真偽値の true を割り当ててください。

初期設定テーブルを作成した後、ドット記法を使用して debug 設定に nil を代入することで、その設定を削除してください。その後、残っている sound 設定をプリントして、テーブルに他の値がまだ保持されていることを確認してください。

チートシート

テーブルからキーと値のペアを削除するには、そのキーに nil を代入します:

local settings = {
    ["volume"] = 80,
    ["difficulty"] = "normal",
    ["music"] = true
}

-- difficulty 設定を削除する
settings.difficulty = nil

ドット記法またはブラケット記法のいずれかを使用できます:

settings.difficulty = nil
settings["difficulty"] = nil

nil を代入すると、そのキーはテーブルから完全に消滅します。そのキーにアクセスすると nil が返されます。

自分で試してみよう

-- TODO: ここにコードを記述してください
-- 必要なキーと値のペアを使用して gameConfig テーブルを作成します
-- ドット記法を使用して debug 設定を削除します
-- sound 設定を表示します
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Fundamentalsのすべてのレッスン