lua学习记录
来源:互联网 发布:淘宝店卖童装用压货吗 编辑:程序博客网 时间:2024/05/16 15:08
本文记录了我在lua学习的一些笔记与心得
Why lua
lua 简介
lua是一种小巧的c实现的脚本语言,拥有自动内存管理,便捷的字符串处理能力,lua最大的优势在于可以与c++/c快捷交互,可以与c++/c对象函数之间建立起绑定,让lua 更加具备拓展性,可以方便作为应用程序的组件来建立开发,而他的 解释器 只有200K 左右,非常容易集成到程序之中。
lua特性
拓展性:lua 可以与c/c++之间进行匹配,还可以集成到Fortran、Java、Smalltalk、Ada、C#等语言中
简易性:lua非常小巧,概念不多,便于学习和集成。
高效:lua在评测中是最快的脚步(解释性)语言
可移植性:lua 可以在任意平台运行因为lua 使用纯的ANSI C 实现,所以只要有ANSI C 编译器就可以编译运行lua
lua features
lua 类型与值
lua 是动态类型语言,在脚步运行前,没有定于变量的类型,语言中没有定义类型的语法lua 中有八种类型:nil、boolean、number、string、userdata、function、thread、table 可以使用自带函数type()来检测一个变量的类型
lua类型详解
lua表达式和语句
lua表达式用于表示值,可以包括数字常量,字符串,变量,一二元操作符,函数调用,更包括lua 最重要的table构造以及函数定义。
lua语句基本与c语言相同包括赋值、控制结构和过程调用以及局部变量声明多重赋值等c不具有的语句
lua表达式语句详解
lua函数
lua中 函数是对语句和表达式是抽象的主要机制,函数可以是完成每个人物或者计算结果并且返回。
在lua中函数是(第一类值 First-Class Value) 以即lua 与其他7中值一样拒用同等权利,函数可以作为值存储到变量之中或者在table 之中,函数之中可以再定义函数 因为函数也是一个变量
lua函数详解
lua 元表(metatable)与元方法(metamethod)
lua的table 都可以拥有一个metatable metatable中拥有了很多元方法可以使用setmetatable()来为table 设置元表 元方法代表了操作、访问table的方法
lua元表、元方法详解 –正在编写
lua 环境 模块与包
lua 将所有的全局变量存在一个table 之中 这个table即environment,这样的存储方式可以简化lua内部实现可以像其他table一样操作这个table,lua把环境table 存在了一个变量 _G 之中
模块系统的目是允许开发者以多种方式来共享代码, require 会返回一个table 做完全局变量
lua环境 模块与包详解 –正在编写
lua 面向对象
lua的对象表述都是用了table table就是一个对象,lua没有像c++一样的class描述类信息,lua创建新的对象的实现其实是跳过元表来实现的 面向对象的关键就是 对象 调用了一个属于对象的函数 在c++ 函数内部都隐式传入了一个this 指针来明确函数调用者,而在lua可以通过Object:Func() 的语法糖模式传入一个self对象 这样就可以确定函数调用者的信息来实现面向对象。
lua面向对象详解 –正在编写
lua 的一些库 (math, table ,string, system)
列举了lua 自带哭的使用方法
lua库的使用 –正在编写
lua CAPI, lua to c | c to lua
lua库的使用 –正在编写
lua 用户自定义类型 userdata
lua库的使用 –正在编写
参考资料:感谢书籍《Lua程序设计(第二版)》
本文略过了部分lua的内容因为没太多的实际使用
- Lua学习记录
- 学习LUA--零星记录
- lua学习--记录
- lua学习记录
- lua 学习记录
- lua学习记录
- Lua 语法学习记录一
- lua学习--记录(2)
- 开始lua学习记录旅程
- cocos2dx-3.7 lua绑定部分学习记录
- Lua的学习及使用记录
- lua记录
- Lua简单记录
- lua 知识点记录
- lua随笔记录
- lua table 使用记录
- cocos-lua问题记录
- lua&torch教程记录
- Eclipse如何忽略拼写检查?
- springMVC 第一个小例子
- spring+mybatis使用druid配置数据源
- HDU 5781 ATM Mechine dp
- 在Win10 Anaconda中安装Tensorflow
- lua学习记录
- 编码详解
- 如何转载博客
- python入门
- tabViewCell里面添加webView
- Decision Tree
- 利用第三方类 phpmailer 发邮件
- Vickate_iOS_设置 UIButton 点击时间间隔,防止连续重复点击
- DFS 枚举