Lua基础入门

lua

1.注释

单行注释:--

段落注释:--[[ ###### ]] (lua5.1中,中括号中间是可以加若干个“ = ”,eg:[==[ ...  ]==])

2.控制语句

if条件then...else..end  

while条件do...end   

for 变量do...end   

for a,b in mylist do print(a,b) end

3.语句块

语句块在C中使用{},在lua中,用do和end括起来 eg:do print("hello") end

4.赋值语句

默认情况下,变量总是认为是全局的,假如需要定义局部变量,则在第一次赋值的时候,需要用local说明,eg:local a = 1  --a是局部变量

5.数值运算

支持 + - * /,但是lua还多了一个乘方运算 ^, eg: 2^3 结果为8

链接两个字符串,用“ .. ” eg: "This a" .. "string"   --等于“This a string”

6.比较符号

== 等于,~= 不等于 

eg:

a={1,2}

b=a

print(a==b,a~=b)  --输出 ture,false

6.逻辑运算

and,or,not

在lua中,只有false和nil才计算为false,其他任何数据都计算为true,0也是true

a and b :如果a 为false,则返回a,否则返回b  eg:print(4 and 5)  --输出 5  print(nil and 5)--输出 nil

a or b :如果 a为true,则返回a,否则返回b     eg:print(4 or 5)--输出 4  print(false or 5)--输出5

注意:

C语言中的语句:x=a?b:c 在lua中,可以写为:x=a and b or c

x = x or v 相当于: if not x then x = v end

运算优先级,从低到高顺序如下:

or 

and

<  >  <=  >=  ~=  ==

..(字符串连接)

+ -

* / %

not #(lua5.1 取长度运算符)  -(一元运算)

^

和C语言一样,括号可以改变优先级

7.关键字

and  break do else elseif end false for function if in local nil not or repeat return then true until while

8.变量类型

用type()函数来检查变量类型,lua支持类型有以下几种:

Nil:              空值,所有没有使用过的变量,都是nil,nil既是值,又是类型

Boolean:  布尔值,只有两个有效值:true和false

Number:数值,在lua里,数值相当于C语言的double

String:     字符串,字符串可以包含“\0”字符的(和C语言总是以"\0"结尾是不一样的)

Table :     关系表类型

Function:  函数类型

Userdata: 这个是用来和lua的宿主打交道,宿主通常是为C和C++来编写的,这种情况下,Userdata可以是宿主的任意数据类型,常用的有Struct和指针

Thread:线程类型,在lua中没有真正的线程,lua中可以将一个函数分成几部分运行。

9.变量的定义

lua中,不管在什么地方使用变量,都不需要声明,并且所有的这些变量总是全局变量,除非我们在前面加上"local",区分大小写 “=”操作就是用来赋值的

a.Nil

没有使用过的变量的值,都是Nil。将一个变量清除时,可以直接赋值nil  eg:var1 = nil  --nil一定要小写

b.Boolean

布尔值有两种:true和false。

c.Number

在lua中,是没有整数类型的

d.String

字符串,在lua中最通用的方法是用单引号或双引号来括起来一个字符串,它也支持一些转义字符,

e.Table

关系表类型,

第一,所有元素之间,总是用逗号“,”隔开

第二,所有索引值需要用[]括起来,如果时字符串,还可以去掉引号和中括号

第三,如果不写索引,则索引就会被认为是数字,并按顺序自动从1往后编

f.Function

在lua中,

function add(a,b)  --add是函数名字,a和b是参数名字

return a+b                --return 用来返回函数的运行结果

end

注意:

return语言一定要写在end之前。假如我们非要在中间放上一句return,那么就应该要写成:do return end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值