lua函数引用可以用作表键吗?
这是一个Lua新手.我可以将函数引用存储为Lua表中的键吗?与此类似的东西:
local fn = function() print('hello') end local my_table = {} my_table[fn] = 123 这似乎工作正常,但我不知道我是否可以依赖函数引用的唯一性. Lua可以在超出范围时重用函数引用吗?这会产生任何问题,还是由于某种原因被认为是不好的做法? 解决方法
是啊.我在lua遇到过的最好的事情之一是作为引用属性的东西.
您在表格中使用密钥的方式没有任何问题. 从Lua PiL起
在您的示例中,您尚未向函数传递任何参数,因此基本上,在您的情况下,在程序中将函数作为引用将毫无用处.另一方面,这样的事情: fn1 = function(x) print(x) end fn2 = function(x) print("bar") end t[fn1] = "foo" t[fn2] = "foo" for i,v in pairs(t) do i(v) end 确实有它的用途.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |