您的位置:首页 > 产品设计 > UI/UE

function at line ### more than 60 upvalues

2016-06-15 15:41 375 查看
lua中函数的upvalues是有上限的,在luaconf.h中定义:

/*
@@ LUAI_MAXUPVALUES is the maximum number of upvalues per function
@* (must be smaller than 250).
*/
#define LUAI_MAXUPVALUES 60

问题:upvalues具体指的是什么?

一个函数所使用的定义在它的函数体之外的局部变量(external local variable)称为这个函数的upvalue。在如下的代码中,函数countDown使用的定义在函数createCountdownTimer中的局部变量ms就是countDown的upvalue,但ms对createCountdownTimer而言只是一个局部变量,不是upvalue。

function createCountdownTimer(second)
local ms = second * 1000
local function countDown()
ms = ms - 1
return ms
end
return countDown
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: