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()