lua学习记录

lua作为嵌入型脚本语言,有着比python快的多的运算速率,在ygocore的编写中lua扮演了至关重要的角色,因此决定了解一下lua,并把学习的一些知识点记录下来。

  • lua具有代码块概念。
  • 使用“–”进行单行注释,“–[[”“–]]”进行区域注释。
  • 逻辑运算具有短路求值特性。

基本数据类型

  • 变量不需提前声明,取决于赋值类型。
  • 使用type()判断数据类型。
  • 赋值bil表示释放变量。
  • 没有整型变量。
  • 变量默认全局,可加上local关键字声明
  • string:类型转换有隐式与显式(用tonumber()和通string())。
  • table:table索引可以是本身。

语法结构及函数

  • if…then类型判断。

  • while…do和reprat…until及for…do循环。

  • 不支持自运算,以及+=类型运算。

  • break关键字强制退出,但默认没有continue关键字(原因)。

  • 没有switch语句。替代方法:

    action = {    
      [1] = function (x) print(x) end,    
      [2] = function (x) print( 2 * x ) end,    
      ["nop"] = function (x) print(math.random()) end,    
      ["my name"] = function (x) print("fred") end,    
    }   	   
    while true do    
        key = getChar()    
        x = math.ramdon()    
        action[key](x)    
    end
    
  • 函数中参数为局部变量(自动创建table类型变量arg储存参数)。

  • 函数可以返回多值。

  • 常用库:math,io,debug。

  • loadstring(),dofile()处理代码

具体内容详见参考,其余深入研究待更新。

参考

lua脚本基础入门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值