C语言中 __FILE__, __LINE__, __FUNC__ 分别可以表示当前代码行的 文件名,行号,函数名,这对于调试代码
非常方便,可以用printf打印出来
Lua本身并没有实现__FILE__, __LINE__, __FUNC__,当我们可以这样加上
首先在需要的文件中引入函数定义
function __FILE__() return debug.getinfo(2,'S').source end
function __LINE__() return debug.getinfo(2, 'l').currentline end
然后在要打印的地方
print("Line at "..__LINE__()..", FILE at "..__FILE__()..", in func: "..(debug.getinfo(1,"n").name or "NOT in a func call"))
好了,这样就可以看到输出的行号,文件名 和函数名(如果有的话)
本文介绍如何在Lua中实现类似C语言的__FILE__,__LINE__,__FUNC__功能,以便于调试代码。通过使用Lua的debug库,可以在运行时获取到当前执行的文件名、行号和函数名。

1575

被折叠的 条评论
为什么被折叠?



