Menu
Coddy logo textTech

nil로 쌍 제거하기

Coddy Lua 여정의 Fundamentals 섹션에 포함된 레슨 — 90개 중 69번째.

키에 nil을 할당하면, Lua는 테이블에서 해당 키-값 쌍을 효과적으로 제거합니다:

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

-- 난이도 설정을 제거합니다
settings.difficulty = nil

-- 이제 테이블에 난이도(difficulty) 키가 더 이상 존재하지 않습니다

키-값 쌍을 제거하려면 점 표기법이나 대괄호 표기법을 모두 사용할 수 있습니다. settings.difficulty = nilsettings["difficulty"] = nil는 모두 정확히 동일하게 작동합니다.

키에 nil을 할당하면, 해당 키는 테이블에서 완전히 사라집니다. 나중에 해당 키에 접근하려고 하면, 마치 처음부터 키가 존재하지 않았던 것처럼 결과로 nil을 얻게 됩니다.

challenge icon

챌린지

쉬움

사전 스타일의 테이블에서 원치 않는 설정을 제거하는 방법을 보여주는 게임 설정 시스템을 만듭니다. 먼저 다음과 같은 키-값 쌍을 가진 gameConfig라는 이름의 테이블을 생성하세요: ["graphics"]에는 문자열 "high"를 할당하고, ["sound"]에는 숫자 75를, ["difficulty"]에는 문자열 "normal"을, 그리고 ["debug"]에는 불리언 true를 할당해야 합니다.

초기 설정 테이블을 생성한 후, 점 표기법(dot notation)을 사용하여 debug 설정에 nil을 할당함으로써 해당 설정을 제거하세요. 그런 다음 테이블에 다른 값들이 여전히 남아 있는지 확인하기 위해 남은 sound 설정을 출력하세요.

치트 시트

테이블에서 키-값 쌍을 제거하려면, 키에 nil을 할당하세요:

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

-- difficulty 설정을 제거합니다
settings.difficulty = nil

점 표기법(dot notation)이나 대괄호 표기법(bracket notation) 중 하나를 사용할 수 있습니다:

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

nil을 할당한 후에는 해당 키가 테이블에서 완전히 사라집니다. 해당 키에 접근하면 nil을 반환합니다.

직접 해보기

-- TODO: 여기에 코드를 작성하세요
-- 필요한 키-값 쌍을 사용하여 gameConfig 테이블을 생성합니다
-- 점 표기법(dot notation)을 사용하여 debug 설정을 제거합니다
-- sound 설정을 출력합니다
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨