32
루아는 현재 코드 줄 번호를 반환하는 C의 __LINE__
매크로와 같은 것을 지원합니까? 나는 루아는 특별한 내장 변수 _G
라고,하지만 난 거기에 줄 번호가 표시되지 않습니다 ... 예를 들어, debug.getinfo를 사용루아의 현재 줄 번호
루아는 현재 코드 줄 번호를 반환하는 C의 __LINE__
매크로와 같은 것을 지원합니까? 나는 루아는 특별한 내장 변수 _G
라고,하지만 난 거기에 줄 번호가 표시되지 않습니다 ... 예를 들어, debug.getinfo를 사용루아의 현재 줄 번호
, C에서
local line = debug.getinfo(1).currentline
사용 lua_getinfo를을 가지고 알고 (이 루아 코드 내부의 LINENUMBER를 반환합니다)
lua_Debug ar;
lua_getstack(L, 1, &ar);
lua_getinfo(L, "nSl", &ar);
int line = ar.currentline
위와 같이 작동합니까? : io.write ("Error on line".. 줄) – qroberts
이 기능은 루아 5.3에서 작동합니까? Windows에서 액세스 위반 오류가 발생했습니다. 또한 스크립트를 파일 및 변수 (dofile 및 doscript 호출)로 실행할 때 작동합니다. – TrustyCoder
@ TrustyCoder 같은 문제가있었습니다. 이것은 루아 함수의 C 구현 내에서만 작동합니다. 그것은 잘못 된 것을보기 위해 pcall을 시도한 후에도 작동하지 않습니다. 예외도 있습니다. (그래서 나는 내 함수 오류 처리기가이 정보를 오류 문자열에 포함시켰다.) –