zoukankan      html  css  js  c++  java
  • lua委托

    原文链接:https://blog.csdn.net/hjssss/article/details/100130964

    1 基本函数绑定

    function func(a)
      print(a)
    end
     
    function bind(func, ...)    
        return function(...)
            func( ...)
        end
    end
     
     
    f = bind(func)
    f(1)

    2 基于table表的构造绑定方式

    a = {}
     
    function a.init(data)
        a.data = data
    end
     
    function a.func(self,t)
      print(self.data)
    end
     
    function bind(self, func, ...)    
        return function(self, ...)
            func( self ,...)
        end
    end
     
    a.init(2)
    f = bind(a, a.func)
    f(a, 1)

    3 基于类的构造绑定方式

    a = {}
    function a:new(data)
        o = setmetatable({}, {__index = self})
        self.data = data
        return o
    end
     
    function a:func()
      print(self.data)
    end
     
    function bind(self, func, ...)    
        return function(self, ...)
            func( self ,...)
        end
    end
     
    t = a:new(2)
    f = bind(t, t.func)
    f(t)

    4 通用的接口格式

    function func(self, a)
      print(a)
    end
     
    function bind(self, func, ...)    
        return function(self, ...)
            func(self, ...)
        end
    end
     
     
    f = bind(nil, func)
    f(nil, 2)
  • 相关阅读:
    Tensorflow io demo (待)
    tf.Dataset
    tf.estimator
    并发队列
    Callable的Future模式
    hadoop之HDFS介绍
    线程池
    并发工具类
    并发编程
    初学hadoop之hadoop集群搭建
  • 原文地址:https://www.cnblogs.com/yifengs/p/14925955.html
Copyright © 2011-2022 走看看