[COCOS2D] lua学习之初识lua基本数据类型和基本语法详解

[复制链接]
星空 发表于 2019-1-11 21:36:51 | 显示全部楼层 |阅读模式
工欲善其事必先利其器,在搭建了lua的环境以后,就可以开始lua的学习了。Lua作为脚本语言,也是有自己的语法等结构的。 # w6 z4 Z0 H8 i) i' `) G% a
    在lua中有八种数据类型,分别是数值(number),字符串(string),布尔(boolean),函数(function),表(table),userdata,线程(thread),nil(类似于c语言的NULL)。 % N+ g6 }- J+ h9 S
    与其他编程语言都是有点类似的,这也是语言的相通地方。Lua中string类型的数值和number类型的数值进行算术操作时,string就是转换为数字。
7 c* w2 i1 F7 n例如:printe("10" + 10);  大家猜猜结果是什么??
0 W) V- y3 W2 ^$ ~1 q5 y0 y; H" @

lua学习之初识lua基本数据类型和基本语法详解

lua学习之初识lua基本数据类型和基本语法详解
, Q+ l' k  x2 E- e% I

" U! R4 p, Z7 `5 N% D突然觉得lua好有个性啊。虽然字符串和数字是可以互相转换的,但是两者是不同的。
. }5 T) y. D. c1 h- _7 q像“10”=10这样永远都是错的。
; ~+ [7 g& r  |" [8 o, V) d

lua学习之初识lua基本数据类型和基本语法详解

lua学习之初识lua基本数据类型和基本语法详解
0 @  P9 U6 Z6 S/ ^1 K/ ^
Lua中的基本表达式
) O5 n$ j4 F: ^' v/ l, E5 M* n+ }  K3 R# @7 l
1、算数运算符
- h( g1 w# n5 z5 v$ A* n
! f" \6 V8 k+ V一元运算符:-(负值) 5 [" U# j2 p+ R# @3 ^) T
二元运算符:+-*/^(加减乘除幂)
2 k' d0 K/ [+ Y' M$ @5 {: m; Z; {! R/ R7 W
2、关系运算符 ! I, H5 [' L! _& Z& q

; X1 C: {; R/ l* {( w, A0 p< ,>,<=,>=,==,~= 。这些操作符的返回结果为false或者true。
3 N5 `% v6 d6 o: a/ c, _3 v8 E3 m在lua中比较大小时候,数字按照大小比较。字符串按字母顺序进行比较。 ) ~; u% o, H- o8 V  G

3 ?# N+ B4 H3 p0 b8 O3、逻辑运算符
+ _6 o' d' l4 [6 K# C5 H5 I* g: e
and   or   not   这和其他语言的与或非一致。 " j1 ~) d3 c" o  U
2 K4 `) |1 {  s# J0 T4 D* ^3 T$ ]
4、连接运算符(..) " E1 G" w8 s( r2 W$ R& B

2 S+ [; r2 g) A" g# X两个点的连接符主要用于字符串连接,如果操作数为数值,lua将转换为字符串。
$ ~) T8 b# e7 W# S0 G4 {: b8 u6 g- h7 J& o6 I" K% g2 Q2 R% G. ^
Lua中的基本语法
% h3 E- [8 z) c( F9 w) U
  s' {* \% C7 Y: r1、赋值语句
& g/ x* Y# b* ^" o- D/ j2、控制语句 1 R8 {5 [! F3 G/ @8 F3 G
& _3 @( n# j( h" {! G: z) z) C
if语句:
  z7 @! w( i" @+ Wif 条件1 then 5 [/ I2 `1 u. U
    执行语句1;
# C5 Z! P, R, o5 {2 f, {else
0 C! Z( @: b3 a8 I9 ?    执行语句2;
8 _6 L+ V" n# @/ F) Dend;
6 V* |' e7 M) t$ e- ^* p/ e  
" c  ^1 q5 J# V: Ewhile语句:
# n8 I% j6 c# W3 ]& Kwhile 条件 do , d- h# `' D- x+ {+ Z$ e
    执行语句;
: S, L; I/ r" t, ]0 eend; % }; v1 @# p9 s) }: I/ K3 J
  - }, e$ l3 {5 Z: z  d' s
repeat-until语句: : s: ?$ w) K3 [$ F
repeat
0 _% k) O$ z+ M0 Y# C. K    执行语句; # ~/ C- Z- j& ]" A5 s
until 条件;
! [5 q1 r0 f$ r, `  r' _! o& K  
& o4 @$ k7 w- k. T3 V2 q. Kfor循环语句 . E; V* ]. x# k9 g# G
for 起始,终止,步长 do ' g- @8 c3 z+ Q5 G: ^
    执行语句;
) ~4 c5 }! P/ u) Q+ {end; ) }1 ^9 [  v! u
提示:步长省略则默认为1. ' d$ S0 e8 m1 D+ _; P3 x
/ p1 F% i1 m. y8 c! k1 D# }: f
3、break和return 语句 % g, r  w3 K# [9 J
break语句用来退出当前循环,如for,repeat,while等,不可以在循环外使用。 " j" V8 I& s% W6 k
return用来从函数返回结果。 5 Z7 @  `# @+ E8 A$ q' X; Q8 U

9 ?) L' s9 G- x  _1 SLua中的函数
0 N' ^8 j; U5 m; P8 i# ?( ]
5 y" N. P/ I# z2 Z7 n& Q5 oLua中函数的语句结构为:   E  J& q& z1 ^9 V% h4 c; z2 b& y+ A
function 函数名(参数列表) % _! ^8 _5 f) n9 m" s
    函数体; ( `+ N/ P' N9 E- [: Z
end; 7 ]) w3 N* O- Z4 [; z
" u0 \, x* A( K1 M& m' a& h% `9 X
Lua中的函数使用
  Z8 n% r' Y& j; Z. J, e& x" n+ j+ P& e6 }5 C0 c- {) D) N2 J
1、Lua中函数使用关键字function定义,以关键字end结束。
' X' d  W/ w3 o0 e3 c# q5 h2、局部变量用关键字local定义。如果没有用local定义,即使在函数内部定义的变量也是全局变量!
; X5 V! l' ]3 s. x$ q3、函数可以返回多个值return a, b, c, ... ) S) o0 H# j6 A" ^7 v1 U2 ^; v
4、平行赋值 a, b = c, d ) S" r; u3 \- u7 t9 M. g

lua学习之初识lua基本数据类型和基本语法详解

lua学习之初识lua基本数据类型和基本语法详解
+ A/ n7 m: N( e# N
# H( M' ?: t% e% n: u, V4 l3 w
Lua中最基本的语法大致就这些,本人也是大致花了几个小时来熟悉下这些语法,当然这是在你有编程基础的前提下,如果零基础则要深入去了解它了。
哎...今天够累的,签到来了游戏源码下载...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则