使用 ipairs() 遍历
本课属于 Coddy Lua 学习旅程的“逻辑与流程”单元。第 2 课,共 54 课。
虽然 pairs() 适用于任何表结构,但 Lua 还提供了一个专门为列表式表设计的函数,叫作 ipairs()。这个函数会按顺序遍历表,从索引 1 开始,直到遇到 nil 值。
ipairs() 的语法与 pairs() 类似:
for index, value in ipairs(myList) do
-- 在这里使用 index 和 value
end下面是一个包含任务物品列表的示例:
local questItems = {"Map", "Compass", "Torch", "Rope"}
for i, item in ipairs(questItems) do
print(i .. ". " .. item)
end输出:
1. Map
2. Compass
3. Torch
4. Rope与 pairs() 的主要区别是,ipairs() 一旦遇到 nil 值就会立即停止,即使后面还有更多元素。
挑战
简单编写一个函数 listTasks,它接收一个 tasks 表,并返回一个格式化字符串,列出所有任务及其序号。
使用 ipairs() 按顺序遍历任务,并构建一个字符串,其中每行按 number. task 的格式显示任务编号和任务名称。每个任务单独占一行。
参数:
tasks(表):一个列表形式的表,其中包含作为字符串的任务名称
返回值:一个字符串,其中每个任务单独占一行并带有编号。格式:
1. task1
2. task2
3. task3亲手试试
function listTasks(tasks)
-- 在这里编写代码
end
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Lua 在线编译器