美文网首页
Lua循环和流程控制

Lua循环和流程控制

作者: 钟离惜 | 来源:发表于2020-12-03 20:41 被阅读0次

顺便说一下lua不支持switch、case语法,所以多种情况的if then else比较常见。

1.if then else

a = 1
if a == 1 then 
    print("a==1")
else
    print("a!=1")
end

2.while

a = 10
while a > 0 do
    a = a - 1
end
print(a)        -->0

3.repeat

这个和C++的do while类似,区别是最后的条件是需要满足条件才退出循环,而do while是不满足条件退出循环。

a = 10
repeat
    a = a - 1
until a <= 0
print(a)        -->0

4.for

数值型for

--[[
    语法
    for var = exp1, exp2, exp3 do 
        something
    end
    exp2是循环上限,如果不想给循环设置上限,可以使用常量math.huge,内部使用break打破循环
    exp3是步长,若不写程序默认步长为1
]]--

a = {1,2,3,4,5,6,7,8,9,10}
for i = 1, #a do
    print(a[i])
end     -->1 2 3 4 5 6 7 8 9 10
for i = 1, #a, 2 do
    print(a[i])
end     -->1 3 5 7 9

泛型for
ipairs、pairs都属于泛型for,泛型for需要第一个nil循环终止,所以下面的由于a[3] = nil,只输出了前面两个索引。

a = {
    "Hello",
    "World",
    "!",
    "Lua",
    "!"
}
a[3] = nil
for k,v in ipairs(a) do      -->将会遍历表输出但是遍历过程中元素的出现顺序是随机的
    print(k,v)
end         -->Hello World

5.break

用于打破循环,使用方法同C++一致。

6.goto

使用方式同C++一致,主要是写法上有点区别。
label前后需要加双冒号。

for i=1, 3 do
    if i <= 2 then
        print(i, "yes continue")
        goto continue
    end
    print(i, " no continue")
    ::continue::
    print([[i'm end]])
end

7.continue

lua不提供continue语法,这里介绍一种简单的可以实现类似continue的功能。

for i=1, 3 do
    repeat
        if i==2 then
            break
        end
        print(i)
    until true
end

相关文章

  • Lua循环和流程控制

    顺便说一下lua不支持switch、case语法,所以多种情况的if then else比较常见。 1.if th...

  • 关于Lua基本语法学习记录

    循环 while for repeat … until 支持 break 流程控制 lua 中 0 为 true,...

  • 流程控制

    Lua流程控制 Lua 编程语言流程控制语句通过程序设定一个或多个条件语句来设定 在条件为 true 时执行指定程...

  • javascript

    流程控制 switch 循环 for 循环和 while 循环的区别:for 用于知道循环次数的循环,while ...

  • Python基础重构-1.3流程控制

    流程控制语句 流程控制语句用来实现对程序流程的选择、循环和返回等进行控制,Python中主要的流程控制包括if(判...

  • 【骚全带你学Java---八、流程控制语句】

    java的流程控制语句包含条件语句和循环语句 一.什么是流程控制语句? ·流程控制语句:可以控制程序的执行流程。 ...

  • 8. 流程控制

    流程控制语句用来实现对程序流程的选择、循环和返回等进行控制。Python中主要的流程控制包括if(判断)、for(...

  • 2019-07-22

    学习循环控制、流程控制。

  • Java知识之流程控制

    Java流程控制框架图 流程控制 一. 循环结构二. 分支结构三. 顺序结构 循环结构 for循环,for-eac...

  • Python精简入门学习(四)

    Python精简入门学习之流程控制(下)-循环的分类 -while循环 -for 循环 -break 和 cont...

网友评论

      本文标题:Lua循环和流程控制

      本文链接:https://www.haomeiwen.com/subject/gijvwktx.html