#Lua基本语法和用法

1. 局部变量和全局变量

当变量使用了local修饰符修饰以后表示局部变量。

  • 全局变量:在所有的代码块中可见,可以被使用
  • 局部变量:仅仅在被申明的代码段可见,被使用
a = 1;       ------全局变量
local b = 2; ------局部变量

2. 赋值

lua可以进行多重赋值。lua会将等号右边值得个数调整到和左边一样,多出来的会赋值为nil.

local x, y, z = 1, 2;
print(x, y, z);   ----------1 2 nil

3. 控制语句

语句 描述
if 语句 if 语句 由一个布尔表达式作为条件判断,其后紧跟其他语句组成。
if…else 语句 if 语句 可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码。
if 嵌套语句 你可以在if 或 else if中使用一个或多个 if 或 else if 语句 。
if a == true then
    print("true");
end

local a = 10;
if a > 1 then
    print("true");
else
    print("false");
end

if a == 1 then
   pirnt(1);
elseif a == 2 then
   print(2);
elseif a == 3 then
   print(3);
end

4. 循环语句

循环类型|描述 —|— while 循环|在条件为 true 时,让程序重复地执行某些语句。执行语句前会先检查条件是否为 true。 for 循环|重复执行指定语句,重复次数可在 for 语句中控制。 repeat…until|重复执行循环,直到指定的条件为真时为止。类似于do while。

>      while(condition)
>      do
>         statements
>      end
>      
>      local a=10
>      while( a < 20 )
>      do
>         print("a 的值为:", a)
>         a = a+1
>      end
>      ---------------------------------------------------------------
>      ---------------------------------------------------------------
>      --var从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次"执行体"。exp3是可选的,如果不指定,默认为1。
>      --for的三个表达式在循环开始前一次性求值,以后不再进行求值。比如上面的f(x)只会在循环开始前执行一次,其结果用在后面的循环中。
>      for var=exp1,exp2,exp3 do  
>          <执行体>  
>      end  
>      
>      for i=10,1,-1 do
>          print(i)
>      end
>      
>      for i=1,10 do
>          print(i)
>      end
>      
>      --泛型for循环
>      for i,v in ipairs(a) 
>      	do print(v) 
>      end
>      
>      days = {"Suanday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}  
>      for i,v in ipairs(days) do  
>          print(v) 
>      end
>      --------------------------------------------------------------
>      --------------------------------------------------------------
>      repeat
>         statements
>      until( condition )
>      
>      --[ 变量定义 --]
>      a = 10
>      --[ 执行循环 --]
>      repeat
>         print("a的值为:", a)
>         a = a + 1
>      until( a > 15 )
      
输出:
a的值为:	10
a的值为:	11

a的值为:	12
a的值为:	13
a的值为:	14
a的值为:	15