函数参数表和键值

时间:2014-09-23 07:11:42

标签: lua lua-table

我正在尝试创建一个表,由函数的第一个arg给出的名称,并为第二个arg命名的键赋值。例如

function myinsert(a, b)
    a.b = 10

例如,当我给args铅笔和价格,铅笔表创建和铅笔。价格为10.或其他args,课程和年级,制作lesson.grade = 10.但是当我尝试这个它给它它不能索引本地a(数值)。我该怎么办?非常感谢

2 个答案:

答案 0 :(得分:0)

您可以使用loadstring函数,它将评估字符串

中的任意代码

http://www.lua.org/pil/14.1.html

示例:

function myinsert(a, b)
  f = loadstring(string.format("%s={}; %s.%s=10", a, a, b))
  f()

答案 1 :(得分:0)

您可以使用_G[a]={[b]=10}创建一个名称存储在a中的全局表。要接收的字段名称10存储在b

例如:

a = "pencil"
b = "price"
_G[a]={[b]=10}

相同
pencil.price=10

即使ab不是名称,代码也能正常运行,也就是说,它们不必是字符串。