我该如何使用lua中的变量呢?

米格尔·吉尔

我怎样才能使2张“印刷品”真实地体现出来?

码:

Config = {}
Config.option1.general = true
Config.option2.general = false

print(Config.option1.general)
print('Config.'..'option1'..'.general')

输出:

true
Config.option1.general

请原谅我的无知

荒谬的

目的是创建一个函数,您可以为其提供选项,并使用相应列表的变量执行代码。

只需创建一个将选项字符串作为输入的函数,然后将该字符串用作Config表中的键即可

function getOption (opt)
  return Config[opt].general
end

然后,您可以根据需要使用返回值:

> getOption('option1')
true
> print(getOption('option1'))
true
> if (getOption('option1')) then print 'Yay!' else print 'Aw...' end
Yay!

如果您想过着危险的生活,则可以使用它load来运行字符串中的一部分代码。但是,将此功能与用户输入一起使用会带来安全问题。

只需编写一个函数,该函数接受一个指定选项的字符串,然后使用该输入来构成表示块的字符串。load函数返回以块为主体的函数,因此您将需要调用该返回的函数以从块中获取结果:

function getOption (opt)
  local cmd = 'Config.' .. opt .. '.general'
  return load('return ' .. cmd)()
end

使用getOption('option1'),该cmd字符串变为'Config.option1.general',并将其与串联'return '以创建'return Config.option1.general'要传递给的块load该语句load('return Config.option1.general')()调用由返回的函数load,并且返回的值再次从该getOption函数返回

样本互动:

> getOption('option1')
true
> getOption('option2')
false

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我该如何使用当前节点呢?

来自分类Dev

我该如何重复呢?

来自分类Dev

文件在/ usr / src /中堆积。我该如何阻止呢?

来自分类Dev

文件在/ usr / src /中堆积。我该如何阻止呢?

来自分类Dev

在多维数组的第二层使用变量可以吗?另外,我该如何回应呢?

来自分类Dev

我使用js创建命令语法,现在该如何使用呢?

来自分类Dev

我该如何使用变量内的变量进行for循环工作

来自分类Dev

我在Ubuntu中删除了一个文件夹,该如何恢复呢?

来自分类Dev

Shell中的CTRL + R-如果我经过所需的命令,该如何返回呢?

来自分类Dev

如果else语句可与cin语句一起使用,我该如何做呢?

来自分类Dev

Isabelle旧项目使用'uses'导入ml文件我该如何替换呢?

来自分类Dev

为什么这个GridBagLayout有未使用的空白空间,我该如何摆脱它呢?

来自分类Dev

我们如何使用lua在nginx中的结构内设置变量

来自分类Dev

为什么在我的表单中的实例变量返回nil,而该语句的赋值部分却没有呢?

来自分类Dev

为什么在我的表单中的实例变量返回nil,而该语句的赋值部分却没有呢?

来自分类Dev

如何识别鼠标?那我该如何“实现鼠标”呢?

来自分类Dev

我该如何使用!在zsh别名中

来自分类Dev

_blank被阻止为弹出窗口,我该如何防止呢?

来自分类Dev

PixelSearch功能效率很低,我该如何优化呢?

来自分类Dev

如果代理不可用,我该如何忽略呢?

来自分类Dev

如果我隐藏了自带的功能,该如何恢复呢?

来自分类Dev

什么是(void *)类型?我该如何取消引用呢?

来自分类Dev

如果代理不可用,我该如何忽略呢?

来自分类Dev

使用sed从XML文件中提取值,一开始我得到空格。我该如何避免呢?

来自分类Dev

使用SVN Hooks,我可以通过ACL停止特定文件的签入,该如何使用git呢?

来自分类Dev

如果使用Jquery条件该如何写呢?

来自分类Dev

我该如何在lua中启动/显示文件,例如批处理命令“ start”?

来自分类Dev

当建议结果显示在我们的搜索框中时,我们将无法点击进入建议产品sku;我们该如何解决呢?

来自分类Dev

如何在使用该布局的帖子中使用该布局中包含的变量?

Related 相关文章

  1. 1

    我该如何使用当前节点呢?

  2. 2

    我该如何重复呢?

  3. 3

    文件在/ usr / src /中堆积。我该如何阻止呢?

  4. 4

    文件在/ usr / src /中堆积。我该如何阻止呢?

  5. 5

    在多维数组的第二层使用变量可以吗?另外,我该如何回应呢?

  6. 6

    我使用js创建命令语法,现在该如何使用呢?

  7. 7

    我该如何使用变量内的变量进行for循环工作

  8. 8

    我在Ubuntu中删除了一个文件夹,该如何恢复呢?

  9. 9

    Shell中的CTRL + R-如果我经过所需的命令,该如何返回呢?

  10. 10

    如果else语句可与cin语句一起使用,我该如何做呢?

  11. 11

    Isabelle旧项目使用'uses'导入ml文件我该如何替换呢?

  12. 12

    为什么这个GridBagLayout有未使用的空白空间,我该如何摆脱它呢?

  13. 13

    我们如何使用lua在nginx中的结构内设置变量

  14. 14

    为什么在我的表单中的实例变量返回nil,而该语句的赋值部分却没有呢?

  15. 15

    为什么在我的表单中的实例变量返回nil,而该语句的赋值部分却没有呢?

  16. 16

    如何识别鼠标?那我该如何“实现鼠标”呢?

  17. 17

    我该如何使用!在zsh别名中

  18. 18

    _blank被阻止为弹出窗口,我该如何防止呢?

  19. 19

    PixelSearch功能效率很低,我该如何优化呢?

  20. 20

    如果代理不可用,我该如何忽略呢?

  21. 21

    如果我隐藏了自带的功能,该如何恢复呢?

  22. 22

    什么是(void *)类型?我该如何取消引用呢?

  23. 23

    如果代理不可用,我该如何忽略呢?

  24. 24

    使用sed从XML文件中提取值,一开始我得到空格。我该如何避免呢?

  25. 25

    使用SVN Hooks,我可以通过ACL停止特定文件的签入,该如何使用git呢?

  26. 26

    如果使用Jquery条件该如何写呢?

  27. 27

    我该如何在lua中启动/显示文件,例如批处理命令“ start”?

  28. 28

    当建议结果显示在我们的搜索框中时,我们将无法点击进入建议产品sku;我们该如何解决呢?

  29. 29

    如何在使用该布局的帖子中使用该布局中包含的变量?

热门标签

归档