본문으로 건너뛰기

직렬화된 텍스트에서 테이블 로드 (table.load_string)

선언

연관 테이블 = table.load_string(테이블 텍스트)

매개변수

  • 테이블 텍스트
    문자열. 테이블을 직렬화한 트리 구조 텍스트입니다. 정적 데이터만 포함할 수 있고 동적 코드는 포함할 수 없습니다.

반환값

  • 연관 테이블
    테이블 또는 nil. 로드에 성공하면 테이블 구조를, 실패하면 nil을 반환합니다.

설명

트리 구조를 설명하는 텍스트를 테이블 객체로 변환합니다.
어느 정도는 table.load_stringtable.deep_dump의 역함수로 볼 수 있습니다. 실제 사용 가능 여부는 순환 참조나 테이블이 아닌 참조 형식의 존재 여부에 따라 달라집니다.
load와 달리, 이 함수는 텍스트 안의 코드를 실행하지 않고 정적 데이터만 읽습니다.
아래 예제에는 실행 가능한 코드가 포함되어 있지만, 실행 후 b는 nil이 됩니다. 코드는 실행되지 않습니다.

b = table.load_string[[ {
a = os.execute('reboot'), -- 이 코드는 실행되지 않으며 nil을 반환합니다
} ]]

예제

local t = table.load_string[[ {
a = 1,
b = 2,
c = 3,
} ]]
sys.alert(t.b)

참고: 위 코드에서는 이 장에서 설명하지 않는 함수인 sys.alert를 사용합니다.