我是 Lua 的新手,我想知道是否有一些紧凑的方法可以像我们在 Python 中那样在 Lua 中定义 a list
、 a :metatable
lis = [i for i in set if i>0]
任何例子将不胜感激。
我是 Lua 的新手,我想知道是否有一些紧凑的方法可以像我们在 Python 中那样在 Lua 中定义 a list
、 a :metatable
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}
请注意,comprehension
这在普通的 5.2.x Lua 中不起作用。它需要 Penlight Lua 库:http ://stevedonovan.github.com/Penlight/api/index.html