如何从另一个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 变量从另一个文件加载到模板

如何从java将变量传递给lua脚本? (io.lettuce.core)

如何从另一个文件替换变量的值