我有一段生成错误的Lua代码,我不明白如何解决它。
.............................
local last_num = 0
local channelTable={}
for num in channels.each_number() do -- channels.each_number() returns 1.number in each call
channelTable[last_num] =num;
last_num = last_num +1;
end
table.sort(channelTable);
基于lua文档,我可以使用函数sort
对channelTable
中保存的数字进行排序。我得到的错误是:
attempt to index global 'table'
我知道如何解决这个问题,或者应该实施冒泡排序? 谢谢你的暗示!
答案 0 :(得分:2)
要么您没有加载表库,要么意外地覆盖了它。
错误消息似乎被截断:它应该说为什么索引失败。
答案 1 :(得分:1)
您看到的错误表明表库不可用。此核心库不太可能不属于您的Lua环境,因此很可能您已在代码中的其他位置分配了某些内容。
答案 2 :(得分:0)
我认为问题可能是你期望在循环的每次迭代中调用channels.each_number()。如果我没有弄错的话,我认为它只会在程序第一次通过循环时被调用。我相信,无论你在for..in
循环中使用什么,都需要成为一张桌子。所以我想问题是你的表没有按照你想要的那样生成。试着这样做:
print('number of items in channelTable = ' .. #channelTable)
如果它出现0,那么我说的可能是问题。