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

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

jeck猫
浏览 97回答 2
2回答

手掌心

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 doa,b,c,d,e = fun2()if a thenbreakelse......(这里就是上面写在do里面的内容)endend这里要求的就是fun1的返回值必须是一个迭代函数 不然就计算不完了

幕布斯7119047

table是lua里的数据类型,比如 t = {"a","b","c"},t就是个table,用 for i,v in ipairs(t) do print(i,v) end执行就打印:1 a2 b3 c
打开App,查看更多内容
随时随地看视频慕课网APP