初识Lua

作者: AZander | 来源:发表于2020-11-02 18:54 被阅读0次

    Lua介绍

    其他

    学习

    阅读

    工具

    总结

    基础的机制与原理

    lua的理解

    • lua 只有一种通用数据结构 table
    • 由于 lua 的数据结构很简单,所以我们可以认为沙盒中放着一张只有 function 和 table 两种复杂数据类型构成的图。

    lua 代码结构及部分理解

    文件

    • 全局
      • 全局变量
      • 全局方法
    • 本地(local定义的本地变量和方法)
      • 本地变量
      • 本地方法
      • 本地变量-表
        • 表的实例方法
        • 表的类方法
      • return 外部要用到的变量
    • 数组 = 表
    • 字典 = 表
    • 对象 = 表
    • 类 = 对象 (没有类的概念只有对象(表),具有clone自身的对象可以看做类)

    Lua问题

    • lua是编译型还是解释型 :解释型
    • 怎么理解local BaseApplication = require "VersionController" (VersionController.lua)
    • :和. 分别代表什么意思?前者实例方法可以调用Self,后者静态方法没有Self隐式变量
      :如 Application:init_app
    • Lua 作用域
    • 如下代码
    • VersionController.lua

    技术点

    动态更新
    • 冷更
      • 更新时机:重新进入应用或者插件才会更新
      • 具体方法
        • 预建设
          • 建一个 app版本和脚本版本映射的关系表。
          • 脚本版本,如 3.2.1 (主版本号.子版本号.补丁版本号)
        • 更新
          • 进入应用时检查脚本是否有更新,有更新下载最新脚本,实现动态更新。
    • 热更

      • 更新时机:应用和插件运行期间也可以更新
      • 具体方法
        • 预建设(同冷更)
        • 目标:针对应用版本和本地脚本的版本需要更新的
        • 更新
          • 更新时机
            • 1、合适时机如应用启动端上请求是否更新;2、服务端通知客户端更新
          • 实现,下载更新脚本,修改内存中已经加载过的对象
    • 热更的实现@如何实现,有待验证

    与c++相互通信
    移动端使用的安全隐患
    继承和多继承的实现

    阅读

    Lua集成和使用

    • 1、下载lua源码:download source code

    • 2、打开src目录,将Makefile、lua.c、luac.c三个文件删除掉(src文件夹下为Lua的源码文件)重命名src为"lua版本号",如lua5.3.5。

    • 3、将lua5.3.5文件直接拖拽到xcode中。

    • 4、编译会报如下错误。
      'system' is unavailable: not available on iOS

      #if defined(__APPLE__)
          #include "TargetConditionals.h"
          #if TARGET_OS_IOS || TARGET_OS_WATCH || TARGET_OS_TV
          #define system(s) ((s)==NULL ? 0 : -1)
          #endif // end iOS
      #elif defined(__ANDROID__)
      
          #define system(s) ((s)==NULL ? 0 : -1)
      #endif
      

      参考:http://lua-users.org/lists/lua-l/2017-09/msg00242.html

        - String 表示一个不可变的字节序列。?
    

    开发工具

    • ideal
    • android studio
    • xcode
    • subline

    相关文章

      网友评论

          本文标题:初识Lua

          本文链接:https://www.haomeiwen.com/subject/yanmvktx.html