当前位置: 首页>>代码示例>>C++>>正文


C++ LuaTable::getLength方法代码示例

本文整理汇总了C++中LuaTable::getLength方法的典型用法代码示例。如果您正苦于以下问题:C++ LuaTable::getLength方法的具体用法?C++ LuaTable::getLength怎么用?C++ LuaTable::getLength使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在LuaTable的用法示例。


在下文中一共展示了LuaTable::getLength方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: luaL_ref

int luaL_ref(LuaThread* L) {

  LuaTable* registry = L->l_G->getRegistry();

  LuaValue val = L->stack_.top_[-1];
  L->stack_.pop();

  if(val.isNil()) return LUA_REFNIL;

  LuaValue ref1 = registry->get(LuaValue(freelist));
  int ref = ref1.isInteger() ? ref1.getInteger() : 0;

  if (ref != 0) {  // any free element?
    LuaValue temp = registry->get( LuaValue(ref) );
    registry->set( LuaValue(freelist), temp );
    registry->set( LuaValue(ref), val );
    return ref;
  }
  else  {
    // no free elements, get a new reference.
    ref = (int)registry->getLength() + 1;
    registry->set( LuaValue(ref), val );
    return ref;
  }
}
开发者ID:aappleby,项目名称:Lumina,代码行数:25,代码来源:lauxlib.cpp

示例2: initEnumItems

	void ScriptProp::initEnumItems()
	{
		LuaTable enumTable(-1);
		enumTable.beginRead();
		for (int i = 0; i < enumTable.getLength(); i++) {
			LuaTable enumItem = enumTable.get(i);
			enumItem.beginRead();
			if (enumItem.getLength() >= 2) {
				String key = enumItem.get(0).toString();
				int val = enumItem.get(1).toInt();
				m_enumItems.push_back(std::make_pair(key, val));
			}
			enumItem.endRead();
		}
		enumTable.endRead();
#if 1
		for (lua_pushnil(L); lua_next(L,-2); lua_pop(L, 1)) {
			if (lua_type(L,-2) != LUA_TSTRING)
				continue;

			const char* name = lua_tostring(L, -2);

			if (name[0] == '_') {
				continue;
			}
			
			if (lua_isnumber(L,-1)) {
				m_enumItems.push_back(std::make_pair<String,int>(name, lua_tonumber(L,-1)));
			}
		}
#endif
	}
开发者ID:CharlieCraft,项目名称:axonengine,代码行数:32,代码来源:scriptsystem.cpp


注:本文中的LuaTable::getLength方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。