32
Lua是否支持類似C的__LINE__
宏,它返回當前代碼行的編號?我知道Lua中有一個特殊的內置變量稱爲_G
,但我看不出在那裏行號...Lua中的當前行號
Lua是否支持類似C的__LINE__
宏,它返回當前代碼行的編號?我知道Lua中有一個特殊的內置變量稱爲_G
,但我看不出在那裏行號...Lua中的當前行號
從Lua使用debug.getinfo,例如,
local line = debug.getinfo(1).currentline
從下使用lua_getinfo (這將返回Lua代碼裏面的行號)
lua_Debug ar;
lua_getstack(L, 1, &ar);
lua_getinfo(L, "nSl", &ar);
int line = ar.currentline
請問上面的工作是這樣的嗎?: io.write(「Error on line」.. line) – qroberts 2013-03-01 14:04:42
這是否適用於Lua 5.3。 Windows中出現訪問衝突錯誤。在將腳本作爲文件和變量(dofile和doscript調用)執行時也可以工作嗎? – TrustyCoder 2017-03-04 15:13:27
@TrustyCoder我有同樣的問題。這隻適用於lua函數的C實現。在pcall嘗試查看錯誤之後它不工作,我也有例外。 (所以我讓我的函數錯誤處理程序在他們的錯誤字符串中包含此信息)。 – 2017-07-12 20:11:55