lua(1) for循环

t={"1111","2222","3333","4444"}
for key,v in pairs(t) do
print(key.."----"..v)
end

结果为:

1----1111
2----2222
3----3333
4----4444

for index = 1,10 do
    	print(index)
    end

结果为:

1   2   3   4    5   6   7   8   9  10


 for index = 1,10,2 do
    	print(index)
    end 

结果为:

1    3    5    7    9

注:2是step,每次循环加的参数


s = "hello"
for k in string.gmatch(s, ".",0) do
print(k)
end

结果为:

h
e
l
l
o
string.gmatch(字符串,模式字符串,起始位置)

.(点): 与任何字符配对
%a: 与任何字母配对
%c: 与任何控制符配对(例如\n)
%d: 与任何数字配对
%l: 与任何小写字母配对
%p: 与任何标点(punctuation)配对
%s: 与空白字符配对
%u: 与任何大写字母配对
%w: 与任何字母/数字配对
%x: 与任何十六进制数配对
%z: 与任何代表0的字符配对
%x(此处x是非字母非数字字符): 与字符x配对. 主要用来处理表达式中有功能的字符(^$()%.[]*+-?)的配对问题, 例如%%与%配对
[数个字符类]: 与任何[]中包含的字符类配对. 例如[%w_]与任何字母/数字, 或下划线符号(_)配对
[^数个字符类]: 与任何不包含在[]中的字符类配对. 例如[^%s]与任何非空白字符配对

### Lua 中 `for` 循环的使用方法 在 Lua 编程语言中,`for` 循环是一种重要的控制结构,用于重复执行一段代码。Lua 的 `for` 循环分为两种主要形式:数值型 `for` 循环和泛型 `for` 循环(即 `for...in` 循环)。这两种循环各有其特点和适用场景。 #### 数值型 `for` 循环 数值型 `for` 循环适用于需要基于计数器变量来迭代的情况。它的基本语法如下: ```lua for 变量名 = 初值, 终值, 步长 do -- 要执行的代码块 end ``` 其中: - **初值** 是循环开始时变量的初始值。 - **终值** 是循环结束时变量的目标值。 - **步长** 是每次迭代后变量增的值,默认为 1。 如果省略步长,则默认步长为 1。当步长大于零时,循环会在变量小于等于终值时继续;当步长小于零时,循环会在变量大于等于终值时继续[^3]。 ##### 示例代码 以下是一个简单的数值型 `for` 循环示例,打印从 1 到 5 的整数: ```lua for i = 1, 5 do print(i) end ``` 输出结果将是: ``` 1 2 3 4 5 ``` 如果希望以更大的步长进行迭代,可以设置第三个参数作为步长。例如,以下代码将以步长为 2 进行迭代: ```lua for i = 1, 10, 2 do print(i) end ``` 输出结果将是: ``` 1 3 5 7 9 ``` --- #### 泛型 `for` 循环 (`for...in`) 泛型 `for` 循环通常与迭代器一起使用,适合遍历表或其他可迭代对象。其基本语法如下: ```lua for 键, 值 in 迭代器表达式 do -- 要执行的代码块 end ``` 在这种情况下,`键` 和 `值` 是由迭代器返回的一对数据项。最常用的迭代器是 `pairs()` 和 `ipairs()` 函数。`pairs()` 遍历整个表,而 `ipairs()` 仅按顺序遍历数组部分。 ##### 示例代码 下面的例子展示了如何使用泛型 `for` 循环遍历一个表并打印键值对: ```lua local myTable = {name = "Alice", age = 25, city = "New York"} for key, value in pairs(myTable) do print(key .. ": " .. tostring(value)) end ``` 可能的输出结果为(注意表的无序性): ``` city: New York age: 25 name: Alice ``` 另一个例子是使用 `ipairs()` 来遍历数组类型的表: ```lua local numbers = {10, 20, 30, 40} for index, value in ipairs(numbers) do print(index .. ": " .. value) end ``` 输出结果将是: ``` 1: 10 2: 20 3: 30 4: 40 ``` --- ### 总结 通过上述介绍可以看出,Lua 的 `for` 循环非常灵活且功能强大。无论是基于固定范围的数值型循环还是动态遍历的泛型循环,都可以满足不同场景下的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值