zoukankan      html  css  js  c++  java
  • lua 元表

    Set = {}
    Set.mt = {}
    function Set.new(t)
        local set = {}
        setmetatable(set, Set.mt)
        for _, l in ipairs(t) do set[l] = true end
        return set
    end
    
    function Set.union(a, b)
        local res = Set.new{}
        for k in pairs(a) do res[k] = true end
        for k in pairs(b) do res[k] = true end
        return res
    end
    
    function Set.tostring (set)
        local s = "{"
        local sep = ""
        for e in pairs(set) do
            s = s .. sep .. e
            sep = ", "
        end
        return s .. "}"
    end
    
    function Set.print (s)
        print(Set.tostring(s))
    end
    
    s1 = Set.new{10, 20, 30, 50}
    s2 = Set.new{30, 1}
    
    print(getmetatable(s1))
    print(getmetatable(s2))
    
    Set.mt.__add = Set.union
    s3 = s1 + s2
    Set.print(s3)
  • 相关阅读:
    PCA
    Less
    Node.js的运行
    跨域
    Jquery中的Ajax
    JSON
    Ajax应用查询员工信息
    xampp中localhost与DreamWaver站点设置问题
    PHP
    HTTP是什么
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/5902157.html
Copyright © 2011-2022 走看看