Lua的基础知识点

  1. 8个类型:
    nil,string,number,function,thread,table,boolean,userdata
  2. pairs和ipairs的区别:(建议使用pairs)
    pairs可以返回nil,可以遍历表中所有的键
    ipairs遇到nil则退出,只能返回数字0,只能遍历到表中第一个出现的不是整数的键
  3. 命名规则:
    首字母必须是下划线或者字母,名称由下划线,字母,数字组成;
    区分大小写;
    名称不能是关键字;
  4. 逻辑运算符
    and 两个表达式相与,表达式1 为真,返回表达式2,1为假,返回1
    or 两个表达式相或,表达式1 为真,返回表达式1,1为假,返回表达式2
    (就是这么不同寻常)
    三元运算符等同于((a and b)or c)
  5. 闭合函数:
    含有非局部变量的函数,非局部变量是指相对于一个函数是局部变量,相对于另一个函数不是局部变量
    6.
    loadfile:只编译不执行
    dofile:既编译也执行,会重复执行
    require:既编译也执行,只执行一次
    7
    协同程序的状态:挂起,执行,死亡,正常
    8
    getmetatable():参数为指定的表,返回值为表对应的元表
    setmetatable():两个参数,第一个是自定义的普通表,第二个是指定的元表
    9
    __index:用于查询
    __newindex:用于更新

__newindex的规则:
a.如果__newindex是一个函数,则在给table不存在的字段赋值时,会调用这个函数。
b.如果__newindex是一个table,则在给table不存在的字段赋值时,会直接给__newindex的table赋值。
10
全局变量 -G
11
“. ”与“:”区别:
“. ”需要显示的将参数列表中将调用的参数传递
“:”不需要显示的将参数列表中将调用的参数传递,系统自动隐式的传入对象本身

12.Lua面向对象思想
使用function,table的方式实现类
使用function创建类中的方法
使用table描述类的成员所拥有的属性
使用settable函数和__index元方法实现继承
lua中可以函数重写(覆盖)不能重载(会调用最新定义的方法)
lua中参数按照顺序进行赋值,多余的参数被忽略,不足的参数用nil赋值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值