如何使用变量字符串检查用户设置的布尔值的值?

用户将一个布尔值设置为 true 或 false。

例如:

ElementNameone = true
ElementNametwo = false
ElementNamethree = true

等等。

现在我有一个从文件加载的字符串。这个名为 name 的字符串可以是 Nameone、Nametwo、Namethree 等值。每次只能有一个。

现在我想能够做到这一点:

if Element..name == true then
do something

但我不知道如何正确地做到这一点。

我已经尝试过这样做:

if not not ("Element"..name) then

但是它不起作用。

有人能帮忙吗?

谢谢

点赞
用户2633423
用户2633423

尝试这样做:

如果 _G["Element" .. name] == true then
    -- 做些什么
end

请注意,这仅在由用户设置的变量(ElementNameone等)是全局变量时才有效。

2013-09-03 22:35:55
用户827263
用户827263

很可能你正在解决错误的问题。

你说 "用户" 设置这些变量。怎么设置?一般来说,最终用户不会直接与你程序中的变量进行交互。

你能否使用表格,将 ElementNameone 作为键,将 truefalse 作为关联值呢?如果可以的话,这将更加清晰。

2013-09-04 00:45:23