lua简单的学习内容笔记

注释

单行注释

多行注释[[]]  //lua多行注释可以嵌套

数据类型

数值类型

保存实数,包括整数和浮点数 整数可以是10进制和16进制 0x开头代表16进制 浮点数必须包含一个数字 一个小数点或者eE

布尔类型

只有两种值:true false

字符串类型

字符串是若干封装在双括号或者单括号内的字符

自定义类型

………

函数类型

lua中函数是一种类型 可以赋值给一个变量,也可以传递给别的函数当参数

线程类型

表示一个线程,线程可以同时执行多个,每个线程拥有独立的栈 局部变量和指令指针

表类型

一组关联数组类型用{}表示

nil

。。。。

type函数返回变量或者数值的类型

luaprint代替c printf


类型转换

tostring()//只能转换布尔类型和数值类型

tonumber//将非数字的原始值转换成为数字

tonumber(“10”)

tonumber(“AF”,16);//转换成为16进制数

关系运算符

== ~=

> < >= <=

逻辑运算符

and or not 对应C语言中(& | ~

控制语句

if …then….end   if ….then ….else ….end if…then….else if …then ………….else …end

while …do ….end    repeat …. until ….. 相当于C语言中(do…while)    for var = exp1,exp2,exp3 do … end for i,v in ipairs(a) do …. end (用来方便便利数组table类型)

break  return


表类型(键值对很像js中的对象 但是是用=链接 不是用:)  {}

字典

访问 [] .   (tabel[id] table.id)  遍历 for k,v inpairs(table)do …end

数组

没有键值对 可用ipairs() pairs() 典型for循环遍历

字符串类型 单引号或者双引号括起来的值 字符串之间用双点..拼接起来 hallo..world 

string.len(str);//获得str的长度

string.sub(s,n,m);//截取字符串  结果是n-m的字符串 //lua中字符串从1开始索引

string.lower(s)//big->small

string.upper(s)//small->big

string.rep(s,n)//重复拼接三次

string.reverse(s)//翻转

string.find(s,sub)//返回两个值 第一个是 开始位置 第二个是结束位置

string.format(“format”,)//格式化字符串 pringf中的格式类似

函数

定义函数   function 函数名 (参数列表){ …[return 返回值]

变量作用域   貌似和C语言差不多

多重返回值  lua 函数可以返回多个值

闭包函数(闭包实现条件 支持函数类型,能够将函数作为参数或者返回值传递 ,支持函数嵌套)lua可以实现闭包

嵌套函数  作用域在外函数的内部

对象  //lua 并没有提供类的定义能力 但是可以把表类型变量当成对象使用

lua中的对象  function 类名.方法(形参列表){…}end //不自带self   function 类名:方法(形参列表){…}end//自带self

类的实现

setmetatable(table,self);//self当做元表给table对象

self.__index = self;//表示首先在当前对象查找,如果对象没有就回到self(代表的table查找);


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值