Menu
CoddyTech

使用 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 值就会立即停止,即使后面还有更多元素。

challenge icon

挑战

简单

编写一个函数 listTasks,它接收一个 tasks 表,并返回一个格式化字符串,列出所有任务及其序号。

使用 ipairs() 按顺序遍历任务,并构建一个字符串,其中每行按 number. task 的格式显示任务编号和任务名称。每个任务单独占一行。

参数:

  • tasks(表):一个列表形式的表,其中包含作为字符串的任务名称

返回值:一个字符串,其中每个任务单独占一行并带有编号。格式: 

1. task1
2. task2
3. task3

亲手试试

function listTasks(tasks)
    -- 在这里编写代码
end
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Lua 在线编译器