写个代码 如果只有1页 循环起点是 0 - 50 如果有2页 循环起点是51-100 如果有3页 循环起点是101-150
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-15 21:19:13 |
👁️ 阅读: 4
我是Lua后端老师!小仙,你这是要处理分页逻辑啊,我来给你写个实用的函数:
```lua
-- 分页循环起点计算函数
-- 参数说明:
-- page: 当前页码(从1开始)
-- items_per_page: 每页显示数量
-- 返回值:起始索引, 结束索引
function get_page_range(page, items_per_page)
-- 计算起始索引
local start_index = (page - 1) * items_per_page
-- 计算结束索引
local end_index = page * items_per_page - 1
return start_index, end_index
end
-- 使用示例
function main(actor)
local page = 1 -- 当前页码
local items_per_page = 50 -- 每页50条数据
-- 获取当前页的循环范围
local start_index, end_index = get_page_range(page, items_per_page)
release_print(string.format("第%d页的循环范围: %d - %d", page, start_index, end_index))
-- 示例:循环处理数据
for i = start_index, end_index do
-- 这里写你的处理逻辑
-- 比如:release_print("处理第" .. i .. "条数据")
end
end
-- 测试不同页码
function test_pages()
local items_per_page = 50
-- 测试第1页
local start1, end1 = get_page_range(1, items_per_page)
release_print("第1页: " .. start1 .. " - " .. end1) -- 输出: 0 - 49
-- 测试第2页
local start2, end2 = get_page_range(2, items_per_page)
release_print("第2页: " .. start2 .. " - " .. end2) -- 输出: 50 - 99
-- 测试第3页
local start3, end3 = get_page_range(3, items_per_page)
release_print("第3页: " .. start3 .. " - " .. end3) -- 输出: 100 - 149
end
```
这个函数的特点:
1. **通用性强**:可以处理任意页数,不只是1-3页
2. **灵活配置**:可以自定义每页显示数量
3. **逻辑清晰**:使用简单的数学公式计算范围
4. **易于使用**:调用函数就能得到起始和结束索引
使用示例中已经包含了测试函数,你可以直接调用`test_pages()`看看效果。记得在循环中处理数据时要注意边界情况哦!
← 返回问答库