Menu
Coddy logo textTech

복습 - 읽기 전용 테이블

Coddy Lua 여정의 Logic & Flow 섹션에 포함된 레슨 — 54개 중 23번째.

challenge icon

챌린지

쉬움

original을 인자로 받아 해당 테이블의 읽기 전용 버전을 반환하는 makeReadOnly 함수를 작성하세요.

원본 테이블에서 읽기는 허용하지만 수정은 방지하는 메타테이블을 가진 프록시 테이블을 생성하세요.

로직:

  • 비어 있는 프록시 테이블을 생성합니다.
  • 읽기를 허용하기 위해 __index가 원본 테이블로 설정된 메타테이블을 생성합니다.
  • 수정을 차단하기 위해 아무 작업도 수행하지 않는 __newindex를 메타테이블에 추가합니다.
  • setmetatable()을 사용하여 메타테이블을 프록시에 연결합니다.
  • 프록시 테이블을 반환합니다.

매개변수:

  • original (table): 수정으로부터 보호할 테이블

반환값: 원본 테이블에 대한 읽기 전용 액세스를 제공하는 프록시 테이블 (table)

직접 해보기

function makeReadOnly(original)
    -- 여기에 코드를 작성하세요
end

Logic & Flow의 모든 레슨