2013-03-14 1 views
3

나는 루아에서 초보자입니다. 다음 문자열을 루아 표로 변환해야합니다. 내가 어떻게 할 수 있니?문자열을 루아로 변환

print(str['a']) -- Output : 1 
print(str['c']['d']) -- Output : 3 

답변

9

당신은 단순히 문자열의 시작에 str =을 추가 할 수 있고 인터프리터 부하를 보자

str = "{a=1, b=2, c={d=3,e=4} }" 

은 내가 이런 식으로 액세스 할 수 있도록, 루아 테이블에이 문자열을 변환 할 그 문자열은 당신을위한 덩어리입니다. loadstring은 청크를 실행하지 않고 함수를 반환합니다. 그래서 당신은 바로 그 함수를 호출하는 ()를 추가하고 실제로 코드를 실행합니다

loadstring("str = "..str)() 

이이 같은 일을 할 것입니다 :

str = loadstring("return "..str)() 

당신이 문자열을 직접 생성하지 않는 경우, 즉이 될 수 있습니다 위험합니다 (이므로 코드가 실행됩니다). 이 경우 문자열을 수동으로 구문 분석하여 실제로 테이블인지, 잘못된 함수 호출이 없는지 확인할 수 있습니다.

+0

감사합니다. 잘 작동합니다 .. – akashdeep