Lua 如何使用用户输入调用vaiable
我正在处理的文件是一团乱麻,所以我要用这个来代替Lua 如何使用用户输入调用vaiable,lua,user-input,Lua,User Input,我正在处理的文件是一团乱麻,所以我要用这个来代替 a = 1 b = 2 c = 3 user_input = 我希望能够在终端中写入b并返回2 我尝试了所有不同的io功能,我不想使用打印 …对不起,如果这是愚蠢的简单我是一个新的程序员(学习) 另外,请不要直接告诉我如何解决这个问题,只要让我走上正确的轨道就行了。请我想你说的是: if (user_input=="b"){ print(b) } 由于您使用全局变量a、b和c,因此可以将它们称为\u G[var]: va
a = 1
b = 2
c = 3
user_input =
我希望能够在终端中写入b并返回2
我尝试了所有不同的io功能,我不想使用打印
…对不起,如果这是愚蠢的简单我是一个新的程序员(学习)
另外,请不要直接告诉我如何解决这个问题,只要让我走上正确的轨道就行了。请我想你说的是:
if (user_input=="b"){
print(b)
}
由于您使用全局变量
a
、b
和c
,因此可以将它们称为\u G[var]
:
var=io.read()
打印[var]
此外,您还可以在Lua5.1中使用
getfenv()
/setfenv()
,在Lua5.2+中使用\u ENV
,以避免污染全局范围(请参阅)。如果您询问如何根据用户输入输出某些内容,您可以制作一个如下表
值={
[a']=1,
[b']=2,
[c']=3,
--你想要多少就继续吧
}
然后简单地打印他们输入的索引处的值
如果值为[user\u input],则--在尝试打印之前,请确保索引有效
打印(值[用户输入])
终止
我计划使用此信息的脚本大约有700行长。我必须在每行中都添加此信息吗?您是说您有700个变量,如“a”、“b”、“c”…如果是,则必须添加。您还可以使用case/switch语句或其任何版本。lua中没有case/switch语句。此外,答案中的代码在lua中无效。您应该在问题中包含您尝试过的内容,始终显示您为解决问题所付出的努力。请阅读
#! /usr/bin/env lua
local table = {}
table .a = 1
table .b = 2
table .c = 3
local function test_inclusion()
io .write( 'key: ' )
key = io .read()
if table[ key ] then
value = table[ key ]
io .write( 'value: ' ..value ..'\n' )
end
end
test_inclusion()