zoukankan      html  css  js  c++  java
  • Lua初学习 9-13

    1:重新看看函数的调用 

               测试001:

    a = {}
    function a:Atest()
    print("a print")
    end

    b = {}
    function b:Btest()
    print("b print")
    end

    a.Atest()
    a:Atest()

    b.Btest()
    b:Btest()

    ================debug===============

    a print
    a print
    b print
    b print

     

    测试002:

    a = {}
    function a:Atest(n)
    print("a print",n)
    end

    b = {}
    function b:Btest(n)
    print("b print",n)
    end

    a.Atest(1)
    a:Atest(1)

    b.Btest(1)
    b:Btest(1)

    ====================debug===============

    a print nil
    a print 1
    b print nil
    b print 1

    Q:发现,用点方法调用方法,打印出来的是 nil ,但是我们已经传入了 1 

    A:点方法调,传入的第一个参数是self(this.table),如果有多个参数,我们需要手动传入第一个参数this.table

         上面 b.Btest(1) Lua把我们传入的第一个参数 1,当作了this.table

         而:方法调,已经帮我们传入了self(有点像个语法糖),我们只需要传入其他剩余的参数就行了

     

     

    另外的博客有比较清楚的解释

  • 相关阅读:
    uva 10129
    年化利率
    house买房原理,2019,第一版
    car二手车购买原理
    car购车翻译篇
    car配置篇
    健身原理
    语法学习,从句
    语法学习,简单语句
    名词解释
  • 原文地址:https://www.cnblogs.com/cocotang/p/5867316.html
Copyright © 2011-2022 走看看