• lua中的weak table


    weakTable = {}
    weakTable[1] = function() print("i am the first element") end
    weakTable[2] = function() print("i am the second element") end
    weakTable[3] = {10, 20, 30}
    weakTable[4] = {"4"}
    weakTable[{}] = 1
    setmetatable(weakTable, {__mode = "kv"})--mode:v,k,vk
    collectgarbage()
    print("results: "..(#weakTable))
    for k,v in pairs(weakTable) do
        print(k,type(v))
    end
    print(nil == weakTable)
    --当mode为v时 设置表为value弱引用,只剩weakTable[{}]未被回收
    --当mode为k时 设置表为key弱引用,weakTable[{}]被回收
    --当mode为kv时,weakTable中元素被回收,weakTable不等于nil
  • 相关阅读:
    程序开发
    主方法
    日志
    node.js
    二维互换
    前台打断点
    具体的后台断点快捷键
    Jenkins
    断点
    循环
  • 原文地址:https://www.cnblogs.com/mttnor/p/10346114.html
Copyright © 2020-2023  润新知