lua - 如何在lua中使用返回表的函数?

标签 lua lua-table

我无法处理由函数返回的表。有人可以帮助我吗?

local grades = { Mary = "100", Teacher="100",'4','6'}
print "Printing grades!"
grades.joe = "10"
grades_copy = grades
for k, v in ipairs(grades) do
  --  print "Grade:"
   -- print(k, v)
end
function returntable()
    tablein = grades
    return 'hello'
end

grades_copy_table = returntable
--print(grades_copy_table)

在上面的程序中,我想通过返回表的函数“returntable”访问表元素。

最佳答案

在 Lua 中,函数是一等值。

grades_copy_table = returntable

您在这里分配 grades_copy_table函数returntable本身,而不是它的返回值。您需要调用该函数并分配返回值:
grades_copy_table = returntable()

关于lua - 如何在lua中使用返回表的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21199377/

相关文章:

c++ - SWIG 生成的 Lua<-->C++ 包装器错误处理由 typedef 重命名的原始类型

lua - enterScene 事件未触发

c++ - lua_isstring 迭代表中表的问题

arrays - lua中,数组子元素

lua - 有没有办法将 "listen"更改为 Lua 表?

lua - 如何在 Lua 中将字符串的开头或结尾与 string.match 匹配?

c - 删除使用 lua_newuserdata 分配的内存

c++ - 使用 default_converter 和表的 luabind 问题

lua - 为什么带有空索引的 lua table.remove 仍然有效

c++ - LuaPlus:如何将表格插入堆栈?