如何在lua函数中获取函数的调用者?

时间:2012-05-14 04:49:39

标签: lua corona

如何在lua中的函数中获取函数的调用者?

具体来说,我正在寻找(在命令输出中用于调试目的,例如print)在调用公共函数时记录的能力,并指示从何处调用它。

这可能只是从中调用它的文件名,例如

File 1 - Has commonly used function 

File 2 - Calls of the the file one functions

PS Mud - 我这样做时实际上是一个零 - 这是正常的吗?在这种情况下无法获得更多信息:

被叫文件;

SceneBase = {}
  function SceneBase:new(options)
  end
return SceneBase

调用文件:

require("views.scenes.scene_base")
local scene = SceneBase.new()

2 个答案:

答案 0 :(得分:5)

debug.getinfo(2).name会给你调用函数的名称,如果它有一个,它是一个字符串。如果它是匿名函数,您将获得nil,如果它使用字符串键以外的其他内容存储在表中,您将获得{{1} }。

?

答案 1 :(得分:0)

Lua debug library可让您获得堆栈跟踪。