zoukankan      html  css  js  c++  java
  • Lua学习(3)——控制结构

    Lua提供了一组传统的,小巧的控制结构,包括用于条件执行的if,用于迭代的while、repeat和for。所有的控制结构都有一个现实的终止符号:if for while 都以end结尾,repeat以until作为结尾。

    控制结构中的条件表达式可以使任何的值,Lua将所有false和nil的值视为“真”。

    1. if then else语句

    if a<0 then 
        a=0
    end
    
    if a<b then 
        return a
    else 
        return b
    end
    

     嵌套的if,可以使用elseif

    if op=="+" then
        r = a+b;
    elseif op=="-" then
        r = a-b;
    elseif op=="*" then
        r = a*b;
    elseif op=="/" then
        r = a/b;
    else
         error("invalid operation")
    end
    

    2. while

    i =1
    while i<10 do
        print(i)
        i=1+1;
    end
    

    3. repeat until

    until 条件为真

    repeat
      print(i)
      i=i+1 until i >10

    4. 数字型for循环

    语法

    for exp1, exp2, exp3 do
       <code> 
    do
    
    exp1初始值,exp2终止值,exp3是步长。步长exp3 默认是1
    
    for i=1,10,2 do
            print(i)
    end
    
    for i=1,10 do
            print(i)
    end
    

    和C、C++一样也有break语句,终止用math.huge

    for i=1,math.huge do
      if i>5 then
            break
        end
        print(i)
    end    
    

    4. 泛型for循环

    for i,v in ipairs(tb) do
    print(v)
    end
    

     Lua的基础库提供了ipairs,这是一个用于用于数组的迭代的函数。每次循环,i会被赋予一个索引的值,同时v被赋予一个对应该索引的数组元素值。

  • 相关阅读:
    NOIP 转圈游戏
    NOIP 2012 同余方程
    BZOJ3864 Hero meet devil
    HDU3045 Picnic Cows
    「PKUWC2018」随机算法
    CF543E Listening to Music
    CF833E Caramel Clouds
    「PKUWC2018」Slay the Spire
    Luogu2183【国家集训队】礼物
    CF932E Team Work
  • 原文地址:https://www.cnblogs.com/oldtrafford/p/3817229.html
Copyright © 2011-2022 走看看