직렬화된 텍스트에서 테이블 로드 (table.load_string)
선언
연관 테이블 = table.load_string(테이블 텍스트)
매개변수
- 테이블 텍스트
문자열. 테이블을 직렬화한 트리 구조 텍스트입니다. 정적 데이터만 포함할 수 있고 동적 코드는 포함할 수 없습니다.
반환값
- 연관 테이블
테이블 또는 nil. 로드에 성공하면 테이블 구조를, 실패하면 nil을 반환합니다.
설명
트리 구조를 설명하는 텍스트를 테이블 객체로 변환합니다.
어느 정도는 table.load_string을 table.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를 사용합니다.