Lua相关问题整理(3)

在注册给Lua的C函数中为Lua提供默认参数 使用luaL_optstring, luaL_optnumber, luaL_optinteger等Lua API,如下示例,函数有一个默认字符串参数,默认值为””,这样在Lua中调用whatever的时候,whatever()或者whatever( “whatever”)均可。(Oh…whatever…随便…都行…) // C code int Whatever( lua_State *L ) { string str = luaL_optstring( L, 1, "" ); //…omitted code… } lua_register( L, "whatever", Whatever ); 建立Lua字符串到C enum的映射 使用luaL_checkoption这个Lua API,它可以把从Lua传来的string转换为相应的C string array中的index,从而可以建立Lua字符串和C enum的映射。以下是个简单的示例: // C code enum PlayerType { PLAYER_TYPE_UNDEFINED = -1, PLAYER_TYPE_KING = 0, // 主公 PLAYER_TYPE_INSURGENT, // 反贼 [...]

Posted in: Lua by Benny Chen No Comments , , , ,