Lua中获取表的a到b项目

Lua中是否有一个内置函数用于获取表的项ab?还是我必须自己创建一个?

示例: foo = {"a","b","c","d","e","f"} 然后我将foo24放入我正在寻找的函数中,它会返回{"b","c","d"}

点赞
用户6879826
用户6879826

对于极大的序列,你需要编写自己的函数来完成此任务。但对于大多数用途,Lua 内置的 table.unpack 即可解决问题:

Lua 5.4.1  版权所有 (C) 1994-2020 Lua.org, PUC-Rio
> t = { "a", "b", "c", "d", "e", "f" }
> table.unpack(t, 2, 4)
b       c       d

table.unpack 仅返回序列的元素,因此如果你想获得一个序列,你需要使用一个表构造器:

> { table.unpack(t, 2, 4) }
table: 0x229d180

你可以将表绑定到一个变量上,或直接对它进行迭代:

> for k, v in ipairs{ table.unpack(t, 2, 4) } do
>> print(k, v)
>> end
1       b
2       c
3       d
2020-11-01 21:25:22