本文整理汇总了C++中IFunction::getfenv方法的典型用法代码示例。如果您正苦于以下问题:C++ IFunction::getfenv方法的具体用法?C++ IFunction::getfenv怎么用?C++ IFunction::getfenv使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IFunction
的用法示例。
在下文中一共展示了IFunction::getfenv方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: buildin_getfenv
static void buildin_getfenv(const vector<LuaValue>& args, vector<LuaValue>& rets) {
IFunction *func = NULL;
if (args.empty()) func = Runtime::instance()->getFrame(-2)->getFunc();
else if (args[0].isTypeOf(LVT_Number)) {
auto n = (int)args[0].getNumber();
ASSERT(n >= 0);
if (n > 0) func = Runtime::instance()->getFrame(-n - 1)->getFunc();
} else func = args[0].getFunction();
LuaTable* table = NULL;
if (func == NULL) table = Runtime::instance()->getGlobalTable();
else table = func->getfenv();
table->addRef();
rets.push_back(LuaValue(table));
}