如何更改lua中的原始变量
Posted
技术标签:
【中文标题】如何更改lua中的原始变量【英文标题】:How can I change the original variable in lua 【发布时间】:2021-02-28 19:31:54 【问题描述】:我想更改原始变量,以便函数打印不同的答案。我是 Lua 新手,这可能吗?我该怎么做?
这是我的代码:
io.write("Hello, what is your first player's name? ")
local name = io.read()
io.write('How old is Player 1? ')
local age = io.read()
function Recall()
print("Your player's name: " ,name, "\nYour player's age: " ,age, "\n")
end
Recall()
io.write("What is your second player's name? ")
local name = io.read()
io.write('How old is Player 2? ')
local age = io.read()
Recall()
当我第二次调用该函数时,它会在第一个输入中打印姓名和年龄。有什么建议吗?
【问题讨论】:
【参考方案1】:您创建了新的本地人并失去了对同名本地人的访问权限。
要解决此问题,请删除第二个 name
和第二个 age
附近的 local
。 (靠近Player2
)。
作为替代解决方案,您可以为 Recall
函数设置参数并在其中传递参数。
【讨论】:
【参考方案2】:正确的想法,只需稍微调整一下,就不会使用相同的变量
io.write("Hello, what is your first player's name? ")
local name1 = io.read()
io.write('How old is Player 1? ')
local age1 = io.read()
function Recall( name, age )
print("Your player's name: ", name, "\nYour player's age: ", age, "\n")
end
Recall( name1, age1 )
io.write("What is your second player's name? ")
local name2 = io.read()
io.write('How old is Player 2? ')
local age2 = io.read()
Recall( name2, age2 )
【讨论】:
哦,谢谢,我试过这样做,但我不明白你如何使用括号内的东西。 这些变量充当局部范围,特定于该函数,在它之外的任何地方都不存在。如果你愿意,你可以重用变量名,如果这正是你想要的,但有时这会混淆值,尤其是在开始时,所以当你尝试学习时,最好为新项目使用唯一的名称。以上是关于如何更改lua中的原始变量的主要内容,如果未能解决你的问题,请参考以下文章