当前位置:   article > 正文

Lua 循环

Lua 循环

在 Lua 中,循环是一种常用的控制结构,用于重复执行一段代码直到满足某个条件。Lua 提供了几种不同的循环结构,每种都有其特定的用途。以下是 Lua 中常见的循环结构:

1. for 循环

Lua 中有两种类型的 for 循环:数值 for 循环和通用 for 循环。

数值 for 循环

这种循环通常用于遍历一系列数字,例如数组的索引。

示例
for i = 1, 10 do
    print(i)
end
  • 1
  • 2
  • 3
通用 for 循环

这种循环用于迭代表中的键值对。它使用 pairsipairs 函数来获取表中的键值对。

示例
local t = {"apple", "banana", "cherry"}

-- 使用 ipairs 遍历数组形式的表
for i, fruit in ipairs(t) do
    print(i, fruit)
end

-- 使用 pairs 遍历字典形式的表
local d = {"key1" = "value1", "key2" = "value2"}
for key, value in pairs(d) do
    print(key, value)
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2. while 循环

while 循环会在每次循环之前检查条件。只要条件为真,就会执行循环体。

示例
local i = 1
while i <= 10 do
    print(i)
    i = i + 1
end
  • 1
  • 2
  • 3
  • 4
  • 5

3. repeat-until 循环

repeat-until 循环至少会执行一次循环体,然后在每次循环结束时检查条件。

示例
local i = 1
repeat
    print(i)
    i = i + 1
until i > 10
  • 1
  • 2
  • 3
  • 4
  • 5

4. breakcontinue 语句

  • break 语句用于立即退出循环。
  • continue 语句用于跳过当前循环的剩余部分,并继续下一次循环。
示例
for i = 1, 10 do
    if i == 5 then
        break  -- 退出循环
    end
    print(i)
end

for i = 1, 10 do
    if i == 5 then
        continue  -- 跳过 i=5 的迭代
    end
    print(i)
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

示例:使用循环计算斐波那契数列

function fibonacci(n)
    local a, b = 0, 1
    for i = 1, n do
        a, b = b, a + b
    end
    return a
end

print(fibonacci(10))  -- 输出第10个斐波那契数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

示例:使用循环统计字符串中的字符数量

function countCharacters(s)
    local counts = {}
    for i = 1, #s do
        local char = s:sub(i, i)
        counts[char] = (counts[char] or 0) + 1
    end
    return counts
end

local str = "hello world"
local charCounts = countCharacters(str)
for char, count in pairs(charCounts) do
    print(char .. ": " .. count)
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这些是 Lua 中循环的基本用法。如果您需要更详细的解释或有其他问题,请随时提问!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/963949
推荐阅读
相关标签
  

闽ICP备14008679号