【问题标题】:How to use local value globally? Lua [closed]如何在全球范围内使用本地价值?卢阿[关闭]
【发布时间】:2014-08-17 07:43:21
【问题描述】:

好吧,我尝试了 3 天,在网上没有找到任何东西。

我正在做的是这样的:

stringValue = ""

function()
    stringValue = "Test"
end

然后我试图通过这个来获取另一个函数中的值:

function()
    print(stringValue);
end

它什么也不返回,有时 NIL 有时是空白的。

我在想是否有人可以帮助我?如果它已经问过了,我很抱歉……如果是,请给我链接,我是新来的。

【问题讨论】:

  • 您的代码无法编译。您的代码中也没有局部变量。所以很难理解你说的如何在全球范围内使用本地价值?学习How to create a Minimal, Complete, and Verifiable example
  • 其实我不是在做程序,我在做别的事情。就我而言,我通过事件调用函数。这是我无法描述的其他东西。
  • @YuHao 为什么说它不编译?对我来说很好。但当然什么也不做,因为它定义了一个没有在任何地方分配或调用的匿名函数,所以它会被垃圾收集。但你是对的,任何地方都没有当地人:D
  • 我怀疑你在不同的部分/事件/什么中调用这两个函数,也许应用程序有不同的_ENVs?或者,stringValue 真的是一个本地的(而你只是忘记在你的示例代码中添加它),而不是对这两个函数都升值,因为例如它们在不同的闭包中定义
  • @nonchip ideone.com/WhOWtZ 无法编译。

标签: lua


【解决方案1】:

这应该可以,你必须调用函数

stringValue = ""

function a()
    stringValue = "Test"
end

function b()
    print(stringValue);
end

a()
b()

【讨论】:

  • 谢谢,试试看:)
【解决方案2】:

Global variables are badmany 情况下)!

如果使用不慎,它们会增加耦合并破坏任何设计。

不要这样做。

除此之外,你还没有调用你的第一个函数,如果你调用了,你会得到所需的值。

【讨论】:

    猜你喜欢
    • 2017-06-12
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    相关资源
    最近更新 更多