Lua基础:Lua基本语法

示例代码:

赋值语句:赋值是改变一个变量的值和改变表域的最基本的方法。

  1. a,b,c=0,1
  2. print(a,b,c)       --a=0,b=1,c=nil
  3. --------------------------------------------------------
  4. a,b=a+1,b+1,b+2
  5. print(a,b)          --a=1,b=2
  6. --------------------------------------------------------
  7. a,b,c=0
  8. print(a,b,c)         --a=0,b=nil,c=nil
  9. --------------------------------------------------------
  10. a,b,c=0,1,2
  11. print(a,b,c)        --a=0,b=1,c=2
  12. --------------------------------------------------------
  13. a,b=f()   --f()函数返回值赋值给a

局部变量和代码块(block)

代码块:指一个控制结构内,一个函数体,或者一个 chunk(变量被声明的那个文件或者文本串)

  1. x=10;                   
  2. local i=1                --local创建局部变量
  3. while i<=x do
  4.     local x=i*2        --局部变量x只在while代码块内有效
  5.     print(x)
  6.     i=i+1
  7. end

控制结构语句:条件表达式结果可以是任何值,false,nil为假,其他值为真

if语句:三种形式

  1. if conditions then 
  2.  then-part 
  3. end;
  4. ----------------------------------------------------------------- 
  5. if conditions then 
  6.  then-part 
  7. else 
  8.  else-part 
  9. end; 
  10. ----------------------------------------------------------------
  11. if conditions then 
  12.  then-part 
  13. elseif conditions then
  14.  elseif-part 
  15. .. --->多个 elseif 
  16. else 
  17.  else-part 
  18. end; 
  19. ---------------------------------------------------------------

while语句:

  1. while condition do
  2.  statements; 
  3. end; 
  4. ----------------------------------------------------------
  5. local i=1
  6. while a[i] do
  7.     if a[i]==v then
  8.         break          
  9.     end
  10.     i=i+1
  11. end

repeat-until语句:

  1. repeat 
  2.  statements; 
  3. until conditions; 

for语句:

  1. for var=exp1,exp2,exp3 do
  2.  loop-part 
  3. end 
  4. ---------------------------------------------
  5. for i=1,10,1 do      --可以把第二个1换成-1,2,3,等查看一下结果默认是1可以省略不写
  6.     print(i)      --打印1-10   i是局部变量只在for代码块内有效
  7. end
  8. max=i          --i是全局变量,没有赋值就为nil
  9. print(max)

泛型for语句:

for i,v in ipairs(a) do print(v) end   --遍历数组值  

for k in pairs(t) do print(k) end      --遍历表table的key值Value值

  1. days={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
  2. revdays = {["Sunday"]=1,["Monday"]=2,["Tuesday"]=3,["Wednesday"]=4,["Thursday"]=5,["Friday"]=6,["Saturday"]=7}
  3.  
  4. for i,v in ipairs(days) do     --days是数组
  5.    print(i .. ":" .. v)                            --打印数组下标和值
  6. end
  7. print("**********")
  8. for k,v in pairs(revdays) do     --revdays是表
  9.     print(k .. ":" .. v)                     --打印表的Key和Value
  10. end

break和return语句:break 语句用来退出当前循环(for,repeat,while)

                                    return 用来从函数返回结果

  1. local i=1
  2. while a[i] do
  3.     if a[i]==v then
  4.         break           --break用法
  5.     end
  6.     i=i+1
  7. end
  8. -------------------------------------------
  9. function foo()
  10.     return                --return用法
  11.     do return end
  12. end

猜你喜欢

转载自blog.csdn.net/QQhelphelp/article/details/88047327