我有一个故事板文件,我想引用实现故事板的文件的名称,以便我可以加载相同基本名称的配置文件。
以下是名为scene001.lua
-- Called when the scene's view does not exist:
function scene:createScene( event )
local screenGroup = self.view
local json = require("json")
-- load the book definition file
local contents = textFromFile("scene001.json")
local page = json.decode(contents)
image = buildPage(page)
screenGroup:insert(image)
image.touch = onSceneTouch
end
如您所见,我必须对"scene001.json"
进行硬编码。我想加载一个与当前故事板同名的配置文件,我该如何动态地执行此操作?
答案 0 :(得分:2)
您可以使用debug
库,特别是函数debug.getinfo
来检索有关当前文件名的信息。使用简单模式,您可以将.lua
扩展名替换为.json
以打开自定义文件。
print( debug.getinfo(1,"S").short_src ) --> /path/to/scene001.lua.
答案 1 :(得分:0)
我实际上找到了一种更好的官方方式,而不需要解析路径所需的所有正则表达式愚蠢。使用debug.getinfo()
的潜在性能影响。