Con*_*501 1 parameters lua luabind
如何使用接受可变数量参数的luabind绑定函数?基本上,我想编写自己的print()函数.
我知道objectluabind 中的类作为参数可以接受任何数据类型,最好是接收动态表luabind::object作为参数.
我在纯lua C API和luabind之间进行了混合:
int myPrint(lua_State* L)
{
int argCount = lua_gettop(L);
for(int i = 1; i <= argCount; i++)
{
luabind::object obj(luabind::from_stack(L, i));
switch(luabind::type(obj))
{
case LUA_TSTRING:
cout << luabind::object_cast<std::string>(obj);
break;
case LUA_TNUMBER:
cout << luabind::object_cast<double>(obj);
break;
case LUA_TBOOLEAN:
cout << boolalpha << luabind::object_cast<bool>(obj);
break;
case LUA_TNIL:
cout << "#Nil#";
break;
default:
cout << "#Unknown type '" << luabind::type(obj) << "'#";
break;
}
}
cout << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1730 次 |
| 最近记录: |