Ubu*_*lva 7 lua functional-programming list
我是新来的Lua如果有定义一些紧凑的方式我想知道list,一个metatable在Lua,因为我们在Python做:
lis = [i for i in set if i>0]
Run Code Online (Sandbox Code Playgroud)
任何一个例子将不胜感激.
Lua 没有本地列表
然而,正如 @joachim 指出的,您可以使用一些技巧来实现它。
local comp = require 'comprehension' . new()
comp 'table(v,k for k,v in pairs(_1))' {[3]=5, [5]=7}
Run Code Online (Sandbox Code Playgroud)
它将产生:
{[5]=3, [7]=5}
Run Code Online (Sandbox Code Playgroud)
请注意,这comprehension在普通的 5.2.x Lua 中不起作用。它需要 Penlight Lua 库:http://stevedonovan.github.com/Penlight/api/index.html