来自《Lua 编程》书第 3 版第 38 页
练习 4.5:你能解释一下为什么 Lua 有 a
goto
不能跳出函数的限制吗?(提示:您将如何实现该功能?)
关于为什么会这样,我有一些猜测:
- 如果你从一个函数跳到另一个函数然后第二个函数返回,PC 去哪儿了?
- 如果你有
a = f()
但是 fgoto
在那行代码之后做了一个 to ,那么 的值是a
多少? - 由于不同平台的调用约定,无法定义标准行为吗?
我想知道作者将如何回答这个问题。也许我会给他发电子邮件。
与此同时,还有其他人有什么想法吗?