Menu
CoddyTech

nilでペアを削除する

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

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

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

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

-- これでテーブル内にdifficultyキーは存在しなくなる

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

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

challenge icon

チャレンジ

簡単

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

初期設定テーブルを作成したら、ドット記法を使ってdebugにnilを代入し、この設定を削除します。次に、残りのサウンド設定を出力して、テーブルに他の値が引き続き含まれていることを確認します。

自分で試してみよう

-- TODO: ここにコードを書いてください
-- 必要なキーと値のペアを持つgameConfigテーブルを作成してください
-- ドット記法を使ってdebug設定を削除してください
-- sound設定を出力してください
quiz icon腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: Luaオンラインコンパイラ