gpt4 book ai didi

sorting - 当我尝试自己对表格进行排序时,我不断对数字和零进行比较

转载 作者:行者123 更新时间:2023-12-03 04:59:24 24 4
gpt4 key购买 nike

taula = {};

function randomNumber()
return math.random(100);
end

function startArray()
for x=0, 10 do
taula[x]=randomNumber();
end
end

function printArray()
for i=0,#taula do
print(taula[i]);
end
end

function organizeArray()
for i=0,#taula do
for j=1,#taula do
if taula[i]>taula[j] then
tmp = taula[j];
taula[j]=taula[i];
taula[i]=taula[tmp];
end
end
end
end

startArray()
organizeArray()
printArray()

这不起作用!最初的想法是打印声明为“taula”的表,但在函数 OrganizeArray() 中,if 中存在问题,它说当我同时声明了 j 和 i 变量时,我将数字与 nil 值进行比较。我需要帮助。

最佳答案

您正在引用 tala[tmp]而不是tmp (第 27 行)当你打乱数组时。这就是导致该错误的原因。

一些提示:

  • 您正在使用全局变量来处理所有事情。当全局变量发生冲突时(即 tmp 可以设置为某个值,然后你用它做一些事情),这可能会在以后引起头痛。请参阅:Local Variables and Blocks

  • 使用 randomNumber()使您的代码有点晦涩,因为 randomNumber 只是 math.random(100) 的别名.

  • Lua 起始于 1 ,不是0 。您可以从0开始,但这只是需要记住的事情。 #table不会计算索引 0 .

  • 提出问题时,请提供完整的错误消息 - 这样我们就可以查看代码,而不必自己运行它:)

  • 您可以输入print(x)在您的代码中,以便您可以看到发生了什么。这将帮助您发现错误,因为您知道发生了什么。

关于sorting - 当我尝试自己对表格进行排序时,我不断对数字和零进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25056176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com