Lua 什么';s返回&;我做错了什么(卢阿)
我有两个问题,一个是卢阿的回报是什么?我一直在互联网上搜索,寻找它的作用/意义及其目的。2.我在编码此部分时遇到问题:Lua 什么';s返回&;我做错了什么(卢阿),lua,Lua,我有两个问题,一个是卢阿的回报是什么?我一直在互联网上搜索,寻找它的作用/意义及其目的。2.我在编码此部分时遇到问题: testGrade={} testGrade.Joe = 86 testGrade.Josh = 75 testGrade.Jack = 12 testGrade.Andrew = 0 testGrade.Larry = 100 testGrade.Noah = 94 testGrade.Blakely = 67 for k,v in pairs(testGrade) do
testGrade={}
testGrade.Joe = 86
testGrade.Josh = 75
testGrade.Jack = 12
testGrade.Andrew = 0
testGrade.Larry = 100
testGrade.Noah = 94
testGrade.Blakely = 67
for k,v in pairs(testGrade) do
local maxGrade = 100
if testGrade[grade] == 100 then
Msg("Congratulations "..k..", you scored a "..v.." out of "..maxGrade.." getting every question right!\n");
elseif testGrade[grade] >= 90 then
Msg("Congratulations "..k..", you scored a "..v.." out of "..maxGrade.." getting an A!\n");
elseif testGrade[grade] >= 80 then
Msg(k..", you scored a "..v.." out of "..maxGrade.." getting a B.\n");
elseif testGrade[grade] >= 70 then
Msg(k..", you scored a "..v.." out of "..maxGrade.." getting a C, try harder next time.\n");
elseif testGrade[grade] >= 60 then
Msg(k..", you scored a "..v.." out of "..maxGrade.." getting a D, you need to study!\n");
elseif testGrade[grade] == 0 then
Msg(k..", you scored a "..v.." out of "..maxGrade.." getting NOTHING right! Did you even try?!\n");
else
Msg(k..", you scored a "..v.." out of "..maxGrade.." making you fail. You need to try harder and study!\n");
end
end
我试着做一些练习编码,但我在这个问题上被难住了。评论很有帮助;)
返回
从函数返回值
发件人:
return语句用于从函数或块(只是函数)返回值。函数和块可以返回多个值return语句用于从函数或块(只是函数)返回值。函数和块可以返回多个值,因此return语句的语法是
stat::=return[explist]
这里没有函数,因此不需要在任何地方使用return
您正试图使用testGrade[grade]
获取当前学生的成绩,但grade
没有值(您从未将其分配到任何位置)
循环中k
的值是表中的键(学生姓名)
循环中v
的值是表中键的值(学生的分数)
因此,将k的,v成对(testGrade)do
更改为学生的成对(testGrade)do
并替换所有testGrade[成绩]
在与justgrade
的比较中,它应该起作用,并将k
的所有用法替换为student
,将v
替换为grade
,它将起作用
一个更微小的变化是(正如刚刚在注释中添加的RetiredInja)在比较中将testGrade[grade]
替换为v
。它从函数返回一个值。From:“return语句用于从函数或块(仅为函数)返回值。函数和块可返回多个值return语句用于从函数或块(仅为函数)返回值。函数和块可返回多个值,…”。似乎您想将testGrade[grade]
的每一个案例都替换为v
。您在其他地方使用了k
和v
,所以我不确定断开连接的位置。@Retired Ninja啊,对不起。我忘了换那部分。我使用的是以前使用过的过时代码,在我学习其他循环策略之前,我使用grade作为变量。真的很累,没发现。我很困惑哈哈。啊,谢谢。我忘了换那部分。我使用的是以前使用过的过时代码,在我学习其他循环策略之前,我使用grade作为变量。谢谢