lua学习随笔

 


 

super用法

 

1. super为父类超类的引用,我们可以把super当作父类的一个实例(实际上并不是实例,这样便于理解)
2. 子类在初始化时一定会先执行父类的构造函数,不管是显式还是隐式
3. 父类有参时,super必须要显式调用且参数正确;无参时可隐式调用或显式调用不带参的super();
4. 第二种理解为 super.方法() 或者 super.属性  调用
5. 若子类重写,需添加一些功能,则要用到super,再次调用父类方法,使其保留,否则重写就把父类的方法都删掉了。(看个人需求)
6. 父类的构造函数带参,子类的构造函数可以不带参。但是父类如果为被直接调用则必须有默认参数,否则报错"未找到基类构造函数的默认参数"
7. 子类可以直接super("nickro")传给父类参数;
8. super关键字可以理解成父类的实例,比如父类有方法father();则可以直接super.father();调用父类方法,同时子类重写了father方法的话,也可以以此来分别获得子类和父类的father方法的调用;


 

判断一个表是否为空

 

【×】 a==nil 表格其实是一个指针,指向table的结构,所以方法错误。

【×】 a=={} a指针比较的对象是一个匿名的地址,所以方法错误。

【×】#a==0 #操作符要求table中的项都不为nil

【√】 next(a) == nil 使用泛型方法遍历一个table的下一个元素可以成功判断

 


pair与ipair的区别

 ipair不会输出table中储存的键值对,会跳过键值对,然后按照顺序输出table中的值。

 pair会输出table中的值和键值对,在输出的过程中先按照顺序输出值 ,然后乱序输出键值对。

 

ipairs只是按照索引值顺序,打印出了table中有索引值的数据,没有索引值的不管。

而pairs是先按照索引值打印,打印完成后再按照键值对的键的哈希值打印它的值。

 

转载于:https://www.cnblogs.com/whpointz/p/9916730.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值