【问题标题】:How to print a parameter of a function outside of the function in LUA?如何在LUA中的函数之外打印函数的参数?
【发布时间】:2019-11-14 13:19:27
【问题描述】:

所以我目前可以在object1(test) 中打印test,它使用以下方式给出“Hello”的输出:

function object1(test)
    print(test)
end

--code--:Connect(object1)

--Output--
"Hello"

我想在另一个函数中使用test 参数,所以我想先看看它是否会在函数之外打印:

function object1(test)
end
--code--:Connect(object1)

--Ways I've tried printing it--

print(test)
print(object1(test))

最终我希望能够从与Object1 不同的函数中调用test

function object1(test)
end

function object2()
    print(test)
    print(object1(test))
end
--code--:Connect(object1)
--different code--:Connect(object2)

--Output--
"Hello"

这可能吗,或者除了我正在尝试的方法之外还有其他更好的替代方法吗?谢谢

【问题讨论】:

  • 参数被传递给函数。无论如何,您应该已经将它的值存储在函数体之外。
  • 如何将值存储在函数之外?我一直在尝试这样做,但不确定如何。
  • 将值赋给一个变量,然后将该变量传递给函数。然后,您和函数都可以访问相同的值。
  • 像这样吗? test = ""function object(test) end`

标签: lua


【解决方案1】:

不要改变不同函数中的全局值。尽量缩短变量的范围是件好事。

function fn1(text)
  print(text, "from fn1")
  text = text .. "(changed by fn1)"
  return text
end

function fn2(text)
  print(text, "from fn2")
end

local testStr = "Hello Word"
testStr = fn1(testStr)
fn2(testStr)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-01
    • 2016-02-26
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 2019-01-02
    • 2014-07-14
    相关资源
    最近更新 更多