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的内容因为没太多的实际使用

0 0
原创粉丝点击