为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这里直接使用table是怎么回事?

为什么这里直接使用table是怎么回事?

jeck猫 2023-04-21 18:14:07
帮助文档中介绍的和查资料里的都是for i, v in ipairs(talbe) do....end或者pairs()等其他迭代函数,这里直接使用table是怎么回事?干脆这样问好了:table = {123,456,789}for _,v in table doprint(v)end请告诉我,这里的V每次循环是多少?我是直接用的table,不是套用迭代函数。而我所看见的代码也就是这样用的,也别说这是语法错误,人家程序都跑的好好的。注:不用再解释用ipairs(table)或者pairs(table)或者其他一些迭代函数,in后面需要返回一个迭代函数,这些资料上说明了的我能懂
查看完整描述

2 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

for i,v in pairs(t) do ... end
这其实只是泛型for的普通用法
for有2种用法
第一种是 for i = 1,10,1 do print(i) end 这种 当计数器用的
第二种是泛型for,for a,b,c,d,e in fun1(para) do ... end
等价于
local fun2 = fun1(para)
while true do
a,b,c,d,e = fun2()
if a then
break
else
......(这里就是上面写在do里面的内容)
end
end
这里要求的就是fun1的返回值必须是一个迭代函数 不然就计算不完了


查看完整回答
反对 回复 2023-04-23
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

table是lua里的数据类型,比如 t = {"a","b","c"},t就是个table,
用 for i,v in ipairs(t) do print(i,v) end
执行就打印:
1 a
2 b
3 c

查看完整回答
反对 回复 2023-04-23
  • 2 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信