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

[复制链接]
星空 发表于 2019-1-11 21:36:51 | 显示全部楼层 |阅读模式
工欲善其事必先利其器,在搭建了lua的环境以后,就可以开始lua的学习了。Lua作为脚本语言,也是有自己的语法等结构的。
! b' B9 @9 |6 A    在lua中有八种数据类型,分别是数值(number),字符串(string),布尔(boolean),函数(function),表(table),userdata,线程(thread),nil(类似于c语言的NULL)。 $ \% o- f! R( ?" S2 j. x
    与其他编程语言都是有点类似的,这也是语言的相通地方。Lua中string类型的数值和number类型的数值进行算术操作时,string就是转换为数字。
7 p8 E6 W) w( \' O6 Z8 }例如:printe("10" + 10);  大家猜猜结果是什么??
9 L* i1 J# m9 ^. d8 K

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

lua学习之初识lua基本数据类型和基本语法详解
9 J( g* ~! Q) M: Z8 v  Z
0 i9 R( ?, Q6 W+ r; y3 p
突然觉得lua好有个性啊。虽然字符串和数字是可以互相转换的,但是两者是不同的。 # g8 w0 K/ K% s' C. D2 X
像“10”=10这样永远都是错的。 * Z; x0 q! T$ T9 F& E

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

lua学习之初识lua基本数据类型和基本语法详解
) F- h% ]  g. ]% r3 g
Lua中的基本表达式
4 g1 U) y$ u) n( K; ~1 q( p6 \: \+ K* q: M
1、算数运算符 ! ~8 T8 w, H  X3 {5 Q: b% [1 D9 k) J% f, L
% \; {7 v* }) ?  E; a3 ^% w
一元运算符:-(负值) / Q. Q5 {7 }! R' B  Z6 V
二元运算符:+-*/^(加减乘除幂) ; q# X1 P# X, p" J8 z* B

3 P9 s. q& |  T& V- j2、关系运算符
" z. H! q0 t+ I% X3 r
, R4 J2 ^: T! E  N< ,>,<=,>=,==,~= 。这些操作符的返回结果为false或者true。
7 |6 j" U/ j8 \2 M3 X& D2 x' d( n在lua中比较大小时候,数字按照大小比较。字符串按字母顺序进行比较。 ! j8 u/ ?$ @$ O

! p2 n8 U2 n0 @: d8 ^- C8 v1 r, r3、逻辑运算符 / H; i* J% Q9 }, A3 z0 y

+ Q7 w6 Q  b2 ^and   or   not   这和其他语言的与或非一致。
) B' d0 S8 _) @6 p7 p7 Q# C# b8 T. O" A. [
4、连接运算符(..) ( r. A! g" |* W

1 O, R0 C- P/ H, f* h+ s两个点的连接符主要用于字符串连接,如果操作数为数值,lua将转换为字符串。
/ E* ^4 @7 M7 Z2 k; _+ [' `. m
; H. S7 |, |" B. D- L5 O  p3 }Lua中的基本语法 1 P' e! ]" i/ p( i; s: b1 Z* h7 E* X
" U  ]) @+ {, q: q3 z
1、赋值语句 % o' w' I/ T6 L+ R9 u
2、控制语句
  b% t) v1 X4 ]. Z6 h& X6 E- p- j: Z
if语句:
0 P# K7 S5 F. k5 B) p- }" u. Vif 条件1 then 5 X$ v! J. _& P: F$ S
    执行语句1;
5 H6 M. O( p1 T/ S1 X2 e3 Nelse , @0 l, W& V, x6 B' K% }! u6 n' g8 R
    执行语句2; * |3 d, O: [) c& U5 y4 ~6 ^
end; - W5 i+ n/ W0 n% P0 n$ G+ {
  2 X5 i- c: n9 w: V. R2 r
while语句: 4 A# @6 }6 ?& [  I; m$ h( I9 ^3 o
while 条件 do
8 w$ I1 g9 E# [4 L    执行语句; . j5 T6 }" {( o  M' d6 Y
end; 3 }; f! L' @4 S' j( H5 Z
  
- P3 \3 S) w1 l0 P9 [2 trepeat-until语句: . l1 M- d% h8 j& U# H
repeat 4 d  m6 N  n: G1 S3 J5 `' m
    执行语句;
0 B% O  ?; l  T& duntil 条件; 0 C9 d: t3 j# N1 w8 {! |, P, m( B
  
3 F& L( |& W- O4 d, wfor循环语句
2 [+ U  U# S3 G# U: efor 起始,终止,步长 do 3 I* V; Y$ [, a$ Z! M
    执行语句; 0 B/ ?) [& I) W3 J2 e2 X3 f
end;
( s2 _4 v0 a1 l; N! c; p" M提示:步长省略则默认为1. ( J  a" j1 J9 x& H" V- `/ [: V% x

; n! m: @; D) V5 @% P$ T* l3 w1 B3、break和return 语句 8 s$ i3 `; L( Z
break语句用来退出当前循环,如for,repeat,while等,不可以在循环外使用。
! T  h2 F3 F% H- H; Xreturn用来从函数返回结果。
. u2 F, D( V1 [5 x! W& u% o% H1 A8 Y' p; {8 a
Lua中的函数
3 R6 s! R) \+ q: D: g2 j, g" l0 P; K  S2 n0 m4 W, s
Lua中函数的语句结构为:
6 D$ x* L% b: Z& `! B: s5 Xfunction 函数名(参数列表)
( z& l9 x/ ~& z' D$ {$ X0 K    函数体; , }( \) B/ b% n3 _) W& u5 N. n$ N
end;
; r$ G6 D) A4 I. s5 W
! T1 T/ \% G+ `+ E# `! iLua中的函数使用 ! E- D& \( V/ i- ^( t, ^
& ^: E6 w* X3 Q
1、Lua中函数使用关键字function定义,以关键字end结束。
6 p+ u+ v6 ?" }- P" g2、局部变量用关键字local定义。如果没有用local定义,即使在函数内部定义的变量也是全局变量!
1 r( x" T1 i" \1 [3、函数可以返回多个值return a, b, c, ...
+ q1 ?% }9 C# Y4 J0 a4、平行赋值 a, b = c, d
# g* H! o: g! B8 i: w# k

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

lua学习之初识lua基本数据类型和基本语法详解
% c1 c% x( L% d! q$ b5 S

$ B6 F: k4 u  h+ |; p& S0 F0 ]5 CLua中最基本的语法大致就这些,本人也是大致花了几个小时来熟悉下这些语法,当然这是在你有编程基础的前提下,如果零基础则要深入去了解它了。
哎...今天够累的,签到来了游戏源码下载...
回复

使用道具 举报

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

本版积分规则