Ego*_*off 15
{unpack(someList, from_index, to_index)}
Run Code Online (Sandbox Code Playgroud)
但是表索引将从而1
不是从表开始from_index
hjp*_*r92 10
unpack
Lua内置的功能可以为您完成这项工作:
返回给定表中的元素.
你也可以使用
x, y = someList[1], someList[2]
Run Code Online (Sandbox Code Playgroud)
为了相同的结果.但是这种方法不能应用于不同长度的lua-table.
table.unpack (list [, i [, j]])
Run Code Online (Sandbox Code Playgroud)
返回给定表中的元素.这个功能相当于
return list[i], list[i+1], ···, list[j]
Run Code Online (Sandbox Code Playgroud)
默认情况下,i
是1并且j
是#list
.
一个键盘连接到显示相同的工作.
完全等同于Python
someList = [ 'a', 'b', 'c', 'd' ]
subList = someList[1:2]
print( subList )
Run Code Online (Sandbox Code Playgroud)
someList = { 'a', 'b', 'c' , 'd' }
subList = { unpack( someList, 2, 2 ) }
print( unpack(subList) )
Run Code Online (Sandbox Code Playgroud)
关键的一点是,unpack
返回“多个结果”这是不是一个表,因此要获得在Lua列表(又名表),你需要“tablify”,结果{
和}
。
但是,您无法在 Lua 中打印表格,但您可以打印多个结果,因此要获得有意义的输出,您需要再次解包。
因此,与使用列表模拟多个返回的 Python 不同,Lua真正拥有它们。
在 Lua 的后续版本中,Nbunpack
变成了table.unpack