游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1544|回复: 0

刚学LUA 脚本 自己再调试函数的时候遇到一个极其诡异的

[复制链接]

2

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2008-4-24 15:32:00 | 显示全部楼层 |阅读模式
unpack() 是lua中的一个函数, 作用是将 一个表中的所有元素全部返回。

如果用 lua 写这个函数 可以写成  
function unpack(t, i)
        i = i or 1
            if t then
                    return t, unpack(t, i + 1)
            end
end

但后来我再自己重写这个函数的时候 发现竟然写成这样也能 运行成功

function unpackl(t)
          i = i or 1
         if t then return unpack(t)
         end
end

a={"hello", "ll","dfdf","sdfsdf"}
print(unpackl(a))

运行后 同样正确的把 表a中的元素全部打印出来了  可天哪, 我觉得我写的明明是个死循环函数啊? 这到底是怎么搞的??? 请 精通LUA的 高手为我解释一下 非常感谢了!!!!!!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 17:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表