如何从另一个lua文件传递变量?
Posted
技术标签:
【中文标题】如何从另一个lua文件传递变量?【英文标题】:How to pass variable from another lua file? 【发布时间】:2017-05-23 08:37:34 【问题描述】:如何从另一个 lua 文件传递变量?我试图将文本变量标题作为文本传递给另一个 b.lua。
a.lua
local options =
title = "Easy - Addition",
backScene = "scenes.operationMenu",
b.lua
local score_label_2 = display.newText(parent=uiGroup, text=title, font=native.systemFontBold, fontSize=128, align="center")
【问题讨论】:
【参考方案1】:有几种方法可以做到这一点,但最简单的方法是将“a.lua”视为一个模块,并通过require
将其导入“b.lua”
例如在
-- a.lua
local options =
title = "Easy - Addition",
backScene = "scenes.operationMenu",
return options
从
-- b.lua
local options = require 'a'
local score_label_2 = display.newText
parent = uiGroup,
text = options.title,
font = native.systemFontBold,
fontSize = 128,
align = "center"
【讨论】:
谢谢,如果我将多个lua文件分配给一个变量,是否也可以?例如。本地选项 = 需要 'a','c','d' ? 这可能没有多大意义。require 'a'
返回的是“a.lua”返回的内容——在这种情况下,是“a.lua”中的本地 options
。只需为每个需要使用不同的变量名称即可。【参考方案2】:
您可以将文件a.lua
导入到变量中,然后将其用作普通表。
在b.lua
local a = require("a.lua")
print(a.options.title)
【讨论】:
请使用edit链接解释这段代码是如何工作的,不要只给出代码,因为解释更有可能帮助未来的读者。另见How to Answer。 source 好的,先生,我的错。谢谢您的帮助,但是如果我将多个 lua 文件分配给单个变量也可以吗?例如。 local a = require("a.lua","b.lua") 为了分配多个lua文件,你可能需要重新定义require
关键字来支持任意数量的参数,像这样:***.com/questions/9145432/…,那么你所要做的就是合并表,像这样:***.com/questions/1283388/lua-merge-tables.
a.lua 的主体不会返回任何内容,所以在 local a = require("a.lua")
之后,a
将是 nil
以上是关于如何从另一个lua文件传递变量?的主要内容,如果未能解决你的问题,请参考以下文章
Django - 如何将 javascript 变量从另一个文件加载到模板