我是Lua的新手,我想知道是否有一些紧凑的方法来定义一个列表,就像我们在 Python中一样在Lua中使用metatable: lis = [i for i in set if i0] 任何一个例子将不胜感激. Lua没有原生名单 然而,正如
lis = [i for i in set if i>0]
任何一个例子将不胜感激.
Lua没有原生名单然而,正如@joachim指出的那样,你可以用它来实现它.
local comp = require 'comprehension' . new() comp 'table(v,k for k,v in pairs(_1))' {[3]=5, [5]=7}
它会产生:
{[5]=3, [7]=5}
请注意,理解在普通的5.2.x Lua中不起作用.它需要Penlight Lua Libraries:http://stevedonovan.github.com/Penlight/api/index.html
您也可以使用MetaLua或LuaMacros