我知道在Python中很容易做到:someList[1:2]
但你在Lua怎么样?该代码给我一个语法错误。
答案 0 :(得分:15)
{unpack(someList, from_index, to_index)}
但表索引将从1
开始,而不是从from_index
答案 1 :(得分:10)
Lua内置的unpack
功能可以为您完成这项工作:
返回给定表中的元素。
您也可以使用
x, y = someList[1], someList[2]
获得相同的结果。但是这种方法不适用于lua-table的不同长度。
table.unpack (list [, i [, j]])
返回给定表中的元素。此功能相当于
return list[i], list[i+1], ···, list[j]
默认情况下,i
1 且j
#list
。
codepad链接显示相同的工作情况。
答案 2 :(得分:2)
完全等同于the Python
jupyter
someList = [ 'a', 'b', 'c', 'd' ]
subList = someList[1:2]
print( subList )
关键是someList = { 'a', 'b', 'c' , 'd' }
subList = { unpack( someList, 2, 2 ) }
print( unpack(subList) )
返回"multiple results" 不一个表,所以要在Lua中获取一个列表(也就是表),你需要“tablify” unpack
和{
的结果。
但是,您无法在Lua中打印表,但是您可以打印多个结果以便获得有意义的输出,您需要再次将其解压缩。
与Python模仿多个使用列表不同,Lua确实拥有它们。
Lua}
的更高版本中的 Nb 变为unpack