跳转到内容

BlitzMax/Modules/Other/Lua 核心

来自维基教科书,开放世界中的开放书籍

"Lua 是一种扩展编程语言,旨在支持具有数据描述功能的一般过程式编程。它还提供对面向对象编程、函数式编程和数据驱动编程的良好支持。Lua 旨在用作任何需要它的程序的强大、轻量级脚本语言。"(摘自 Roberto Ierusalimschy、Luiz Henrique de Figueiredo、Waldemar Celes 的“Lua 5.1 参考手册”)

此模块为 Lua 主 API 和辅助 API 提供了一个 BlitzMax 接口。它几乎完整,唯一缺少的函数是那些具有可变参数列表的函数(BlitzMax 目前尚不支持)。

axe.lua 包还包含完整的 Lua 5.1.4 发行版。Lua 源代码已完全集成到模块中,不再需要额外的 DLL(或共享库)。

Lua 文档

[编辑 | 编辑源代码]

Lua 参考手册是此发行版的一部分,可以从此处直接访问

可以在 Lua 网站 上找到更多信息;Lua wiki 包含更多材料 关于此模块 和相关包的信息。

以下描述并非教程,但仍然可以帮助您在 BlitzMax 中开始 Lua 编程。更多与 API 相关的资料可以在 Lua 参考手册 中找到。

设置 Lua VM

[编辑 | 编辑源代码]

运行 Lua 脚本总是需要至少实例化一个 Lua VM。

local LuaState:byte ptr = luaL_newstate()

该实例化的结果是指向一个结构体的指针,该结构体包含了新 VM 的完整状态,必须作为第一个参数传递给几乎所有其他 Lua API 函数。

现在是时候“打开”内建的 Lua 库了(注意:这些库现在是 axe.lua 的一部分,不需要外部 DLL 或共享库)。

luaL_openlibs(LuaState)

始终通过打开其库来初始化 Lua VM,除非你真的知道自己在做什么!

通常情况下,创建单个 Lua 状态就足够了,甚至进一步的(Lua)线程共享基本的 Lua 状态(及其关联的环境)。

关闭 Lua VM

[编辑 | 编辑源代码]

最后,始终关闭 Lua VM 是一个好主意。

lua_close(LuaState)

Lua 解释器现在已经终止,其状态变量不再有效。

访问 Lua 全局变量

[编辑 | 编辑源代码]

代码

lua_pushstring(LuaState, "BMXString")
lua_setglobal (LuaState, "luaglobal")

定义一个全局 Lua 变量(称为 luaglobal),它包含一个字符串(即“BMXString”)。

注册 BlitzMax 函数

[编辑 | 编辑源代码]

为了从 Lua 脚本中访问 BlitzMax 功能,有必要实现合适的 BlitzMax 函数并在 Lua VM 中注册它们。

此类 BlitzMax 函数通常如下所示

function BMXName:int (LuaState:Byte Ptr)
   ...      ' handling of parameters passed from Lua (if required)
     ...    ' actual function body
   ...      ' passing results back to Lua (if required)
   return 0 ' number of values returned to Lua
 end function

然后使用以下方法注册此类函数

lua_register(LuaState, "luaname", BMXName)

此命令在 Lua 中将 BlitzMax 函数(称为 BMXName)注册为(全局)名称 luaname。这两个名称可以相同,但不必相同。

从 BlitzMax 中运行 Lua 脚本

[编辑 | 编辑源代码]

代码

local Result:int = luaL_loadString(LuaState,LuaScript)
 if (Result <> 0) then
   ' ERROR!!!
   lua_close(LuaState) ' just to be complete
   end
 end if

加载并编译包含 Lua 脚本的(BlitzMax)字符串。编译结果将保留在(Lua)堆栈上。

lua_getfield(LuaState, LUA_GLOBALSINDEX, "debug")' get global "debug"
 lua_getfield(LuaState, -1, "traceback")       ' get "debug.traceback"
 lua_remove (LuaState, -2)           ' remove "debug" table from stack

 Result = lua_pcall(LuaState,1,-1,-1)' use "debug.traceback" as err.hdlr
 if (Result <> 0) then
   ' ERROR
   lua_close(LuaState) ' just to be complete
   end
 end if

实际上评估先前加载的脚本。前面提到的 Lua 命令只是为 Lua 脚本失败时的正确错误消息做准备。

Lua_atpanic

[编辑 | 编辑源代码]

函数 lua_atpanic:Byte Ptr (lua_state:Byte Ptr, panicf:Int(ls:Byte Ptr)

描述:参见 Lua 参考手册

函数 lua_call (lua_state:Byte Ptr, nargs:Int, nresults:Int)

描述:参见 Lua 参考手册

Lua_checkstack

[编辑 | 编辑源代码]

函数 lua_checkstack:Int (lua_state:Byte Ptr, extra:Int)

描述:参见 Lua 参考手册

Lua_close

[编辑 | 编辑源代码]

函数 lua_close (lua_state:Byte Ptr)

描述:参见 Lua 参考手册

Lua_concat

[编辑 | 编辑源代码]

函数 lua_concat (lua_state:Byte Ptr, n:Int)

描述:参见 Lua 参考手册

Lua_cpcall

[编辑 | 编辑源代码]

函数 lua_cpcall:Int (lua_state:Byte Ptr, func:Int(ls:Byte Ptr)

描述:参见 Lua 参考手册

Lua_createtable

[编辑 | 编辑源代码]

函数 lua_createtable (lua_state:Byte Ptr, narr:Int, nrec:Int)

描述:参见 Lua 参考手册

函数 lua_dump:Int (lua_state:Byte Ptr, writer:Int(ls:Byte Ptr,p:Byte Ptr,sz:Int,ud:Byte Ptr)

描述:参见 Lua 参考手册

Lua_equal

[编辑 | 编辑源代码]

函数 lua_equal:Int (lua_state:Byte Ptr, index1:Int, index2:Int)

描述:参见 Lua 参考手册

Lua_error

[编辑 | 编辑源代码]

函数 lua_error:Int (lua_state:Byte Ptr)

描述:参见 Lua 参考手册

函数 lua_gc:Int (lua_state:Byte Ptr, what:Int, data:Int)

描述:参见 Lua 参考手册

Lua_getallocf

[编辑 | 编辑源代码]

函数 lua_getallocf:Byte Ptr (lua_state:Byte Ptr, ud:Byte Ptr Ptr)

描述:参见 Lua 参考手册

Lua_getfenv

[编辑 | 编辑源代码]

函数 lua_getfenv (lua_state:Byte Ptr, index:Int)

描述:参见 Lua 参考手册

Lua_getfield

[编辑 | 编辑源代码]

函数 lua_getfield (lua_state:Byte Ptr, index:Int, k$z)

描述: 请参考 Lua 参考手册

Lua_gethook

[编辑 | 编辑源代码]

函数 lua_gethook:Byte Ptr (lua_state:Byte Ptr)

描述: 请参考 Lua 参考手册

Lua_gethookcount

[编辑 | 编辑源代码]

函数 lua_gethookcount:Int (lua_state:Byte Ptr)

描述: 请参考 Lua 参考手册

Lua_gethookmask

[编辑 | 编辑源代码]

函数 lua_gethookmask:Int (lua_state:Byte Ptr)

描述: 请参考 Lua 参考手册

Lua_getinfo

[编辑 | 编辑源代码]

函数 lua_getinfo:Int (lua_state:Byte Ptr, what$z, ar:lua_Debug Ptr)

描述: 请参考 Lua 参考手册

Lua_getlocal

[编辑 | 编辑源代码]

函数 lua_getlocal$z (lua_state:Byte Ptr, ar:lua_Debug Ptr, n:Int)

描述: 请参考 Lua 参考手册

Lua_getmetatable

[编辑 | 编辑源代码]

函数 lua_getmetatable:Int (lua_state:Byte Ptr, index:Int)

描述: 请参考 Lua 参考手册

Lua_getstack

[编辑 | 编辑源代码]

函数 lua_getstack:Int (lua_state:Byte Ptr, level:Int, ar:lua_Debug Ptr)

描述: 请参考 Lua 参考手册

Lua_gettable

[编辑 | 编辑源代码]

函数 lua_gettable (lua_state:Byte Ptr, index:Int)

描述: 请参考 Lua 参考手册

Lua_gettop

[编辑 | 编辑源代码]

函数 lua_gettop:Int (lua_state:Byte Ptr)

描述: 请参考 Lua 参考手册

Lua_getupvalue

[编辑 | 编辑源代码]

函数 lua_getupvalue$z (lua_state:Byte Ptr, funcindex:Int, n:Int)

描述: 请参考 Lua 参考手册

Lua_insert

[编辑 | 编辑源代码]

函数 lua_insert (lua_state:Byte Ptr, index:Int)

描述: 请参考 Lua 参考手册

Lua_iscfunction

[编辑 | 编辑源代码]

函数 lua_iscfunction:Int (lua_state:Byte Ptr, index:Int)

描述: 请参考 Lua 参考手册

Lua_isnumber

[编辑 | 编辑源代码]

函数 lua_isnumber:Int (lua_state:Byte Ptr, index:Int)

描述: 请参考 Lua 参考手册

Lua_isstring

[编辑 | 编辑源代码]

函数 lua_isstring:Int (lua_state:Byte Ptr, index:Int)

描述: 请参考 Lua 参考手册

Lua_isuserdata

[编辑 | 编辑源代码]

函数 lua_isuserdata:Int (lua_state:Byte Ptr, index:Int)

描述: 请参考 Lua 参考手册

Lua_lessthan

[编辑 | 编辑源代码]

函数 lua_lessthan:Int (lua_state:Byte Ptr, index1:Int, index2:Int)

描述: 请参考 Lua 参考手册

函数 lua_load:Int (lua_state:Byte Ptr, reader:Byte Ptr(ls:Byte Ptr,data:Byte Ptr,sz:Int Ptr)

描述: 请参考 Lua 参考手册

Lua_newstate

[编辑 | 编辑源代码]

函数 lua_newstate:Byte Ptr (f:Byte Ptr(ud:Byte Ptr, p:Byte Ptr, osize:Int, nsize:Int)

描述: 请参考 Lua 参考手册

Lua_newthread

[编辑 | 编辑源代码]

函数 lua_newthread:Byte Ptr (lua_state:Byte Ptr)

描述: 请参考 Lua 参考手册

Lua_newuserdata

[编辑 | 编辑源代码]

函数 lua_newuserdata:Byte Ptr (lua_state:Byte Ptr, size:Int)

描述: 请参考 Lua 参考手册

函数 lua_next:Int (lua_state:Byte Ptr, index:Int)

描述: 请参考 Lua 参考手册

Lua_objlen

[编辑 | 编辑源代码]

函数 lua_objlen:Int (lua_state:Byte Ptr, index:Int)

描述: 请参考 Lua 参考手册

Lua_pcall

[编辑 | 编辑源代码]

函数 lua_pcall:Int (lua_state:Byte Ptr, nargs:Int, nresults:Int, errfunc:Int)

描述: 请参考 Lua 参考手册

Lua_pushboolean

[编辑 | 编辑源代码]

函数 lua_pushboolean (lua_state:Byte Ptr, b:Int)

描述: 请参见 Lua 参考手册

Lua_pushcclosure

[编辑 | 编辑源代码]

函数 lua_pushcclosure (lua_state:Byte Ptr, fn:Int(ls:Byte Ptr)

描述: 请参见 Lua 参考手册

Lua_pushinteger

[编辑 | 编辑源代码]

函数 lua_pushinteger (lua_state:Byte Ptr, n:Int)

描述: 请参见 Lua 参考手册

Lua_pushlightuserdata

[编辑 | 编辑源代码]

函数 lua_pushlightuserdata (lua_state:Byte Ptr, p:Byte Ptr)

描述: 请参见 Lua 参考手册

Lua_pushlstring

[编辑 | 编辑源代码]

函数 lua_pushlstring (lua_state:Byte Ptr, s:Byte Ptr, size:Int)

描述: 请参见 Lua 参考手册

Lua_pushnil

[编辑 | 编辑源代码]

函数 lua_pushnil (lua_state:Byte Ptr)

描述: 请参见 Lua 参考手册

Lua_pushnumber

[编辑 | 编辑源代码]

函数 lua_pushnumber (lua_state:Byte Ptr, n:Double)

描述: 请参见 Lua 参考手册

Lua_pushstring

[编辑 | 编辑源代码]

函数 lua_pushstring (lua_state:Byte Ptr, s$z)

描述: 请参见 Lua 参考手册

Lua_pushthread

[编辑 | 编辑源代码]

函数 lua_pushthread:Int (lua_state:Byte Ptr)

描述: 请参见 Lua 参考手册

Lua_pushvalue

[编辑 | 编辑源代码]

函数 lua_pushvalue (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_rawequal

[编辑 | 编辑源代码]

函数 lua_rawequal:Int (lua_state:Byte Ptr, index1:Int, index2:Int)

描述: 请参见 Lua 参考手册

Lua_rawget

[编辑 | 编辑源代码]

函数 lua_rawget (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_rawgeti

[编辑 | 编辑源代码]

函数 lua_rawgeti (lua_state:Byte Ptr, index:Int, n:Int)

描述: 请参见 Lua 参考手册

Lua_rawset

[编辑 | 编辑源代码]

函数 lua_rawset (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_rawseti

[编辑 | 编辑源代码]

函数 lua_rawseti (lua_state:Byte Ptr, index:Int, n:Int)

描述: 请参见 Lua 参考手册

Lua_remove

[编辑 | 编辑源代码]

函数 lua_remove (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_replace

[编辑 | 编辑源代码]

函数 lua_replace (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_resume

[编辑 | 编辑源代码]

函数 lua_resume:Int (lua_state:Byte Ptr, narg:Int)

描述: 请参见 Lua 参考手册

Lua_setallocf

[编辑 | 编辑源代码]

函数 lua_setallocf (lua_state:Byte Ptr, f:Byte Ptr(ud:Byte Ptr, p:Byte Ptr, osize:Int, nsize:Int)

描述: 请参见 Lua 参考手册

Lua_setfenv

[编辑 | 编辑源代码]

函数 lua_setfenv:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_setfield

[编辑 | 编辑源代码]

函数 lua_setfield (lua_state:Byte Ptr, index:Int, k$z)

描述: 请参见 Lua 参考手册

Lua_sethook

[编辑 | 编辑源代码]

函数 lua_sethook:Int (lua_state:Byte Ptr, f(ls:Byte Ptr,ar:lua_Debug Ptr)

描述: 请参见 Lua 参考手册

Lua_setlocal

[编辑 | 编辑源代码]

函数 lua_setlocal$z (lua_state:Byte Ptr, ar:lua_Debug Ptr, n:Int)

描述: 请参见 Lua 参考手册

Lua_setmetatable

[编辑 | 编辑源代码]

函数 lua_setmetatable:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_settable

[编辑 | 编辑源代码]

函数 lua_settable (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_settop

[编辑 | 编辑源代码]

函数 lua_settop (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_setupvalue

[编辑 | 编辑源代码]

函数 lua_setupvalue$z (lua_state:Byte Ptr, funcindex:Int, n:Int)

描述: 请参见 Lua 参考手册

Lua_status

[编辑 | 编辑源代码]

函数 lua_status:Int (lua_state:Byte Ptr)

描述: 请参见 Lua 参考手册

Lua_toboolean

[编辑 | 编辑源代码]

函数 lua_toboolean:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_tocfunction

[编辑 | 编辑源代码]

函数 lua_tocfunction:Byte Ptr (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_tointeger

[编辑 | 编辑源代码]

函数 lua_tointeger:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_tolstring

[编辑 | 编辑源代码]

函数 lua_tolstring:Byte Ptr (lua_state:Byte Ptr, index:Int, size:Int Ptr)

描述: 请参见 Lua 参考手册

Lua_tonumber

[编辑 | 编辑源代码]

函数 lua_tonumber:Double (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_topointer

[编辑 | 编辑源代码]

函数 lua_topointer:Byte Ptr (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_tothread

[编辑 | 编辑源代码]

函数 lua_tothread:Byte Ptr (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_touserdata

[编辑 | 编辑源代码]

函数 lua_touserdata:Byte Ptr (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

函数 lua_type:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_typename

[编辑 | 编辑源代码]

函数 lua_typename$z (lua_state:Byte Ptr, tp:Int)

描述: 请参见 Lua 参考手册

Lua_xmove

[编辑 | 编辑源代码]

函数 lua_xmove (fromState:Byte Ptr, toState:Byte Ptr, n:Int)

描述: 请参见 Lua 参考手册

Lua_yield

[编辑 | 编辑源代码]

函数 lua_yield:Int (lua_state:Byte Ptr, nresults:Int)

描述: 请参见 Lua 参考手册

Lua_getglobal

[编辑 | 编辑源代码]

函数 lua_getglobal (lua_state:Byte Ptr, name:String)

描述: 请参见 Lua 参考手册

Lua_isboolean

[编辑 | 编辑源代码]

函数 lua_isboolean:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_isfunction

[编辑 | 编辑源代码]

函数 lua_isfunction:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_islightuserdata

[编辑 | 编辑源代码]

函数 lua_islightuserdata:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_isnil

[编辑 | 编辑源代码]

函数 lua_isnil:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_isnone

[编辑 | 编辑源代码]

函数 lua_isnone:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_isnoneornil

[编辑 | 编辑源代码]

函数 lua_isnoneornil:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_istable

[编辑 | 编辑源代码]

函数 lua_istable:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_isthread

[编辑 | 编辑源代码]

函数 lua_isthread:Int (lua_state:Byte Ptr, index:Int)

描述: 请参见 Lua 参考手册

Lua_newtable

[编辑 | 编辑源代码]

函数 lua_newtable (lua_state:Byte Ptr)

描述: 参见 Lua 参考手册

函数 lua_pop (lua_state:Byte Ptr, n:Int)

描述: 参见 Lua 参考手册

Lua_pushcfunction

[编辑 | 编辑源代码]

函数 lua_pushcfunction (lua_state:Byte Ptr, fn:Int(ls:Byte Ptr)

描述: 参见 Lua 参考手册

Lua_register

[编辑 | 编辑源代码]

函数 lua_register (lua_state:Byte Ptr, name:String, f:Int(ls:Byte Ptr)

描述: 参见 Lua 参考手册

Lua_setglobal

[编辑 | 编辑源代码]

函数 lua_setglobal (lua_state:Byte Ptr, name:String)

描述: 参见 Lua 参考手册

Lua_tostring

[编辑 | 编辑源代码]

函数 lua_tostring:String (lua_state:Byte Ptr, index:Int)

描述: 参见 Lua 参考手册

LuaL_addlstring

[编辑 | 编辑源代码]

函数 luaL_addlstring (B:Byte Ptr, s:Byte Ptr, l:Int)

描述: 参见 Lua 参考手册

LuaL_addsize

[编辑 | 编辑源代码]

函数 luaL_addsize (B:Byte Ptr, size:Int)

描述: 参见 Lua 参考手册

LuaL_addstring

[编辑 | 编辑源代码]

函数 luaL_addstring (B:Byte Ptr, s$z)

描述: 参见 Lua 参考手册

LuaL_addvalue

[编辑 | 编辑源代码]

函数 luaL_addvalue (B:Byte Ptr)

描述: 参见 Lua 参考手册

LuaL_argerror

[编辑 | 编辑源代码]

函数 luaL_argerror:Int (lua_state:Byte Ptr, narg:Int, extramsg$z)

描述: 参见 Lua 参考手册

LuaL_buffinit

[编辑 | 编辑源代码]

函数 luaL_buffinit (lua_state:Byte Ptr, B:Byte Ptr)

描述: 参见 Lua 参考手册

LuaL_callmeta

[编辑 | 编辑源代码]

函数 luaL_callmeta:Int (lua_state:Byte Ptr, obj:Int, e$z)

描述: 参见 Lua 参考手册

LuaL_checkany

[编辑 | 编辑源代码]

函数 luaL_checkany (lua_state:Byte Ptr, narg:Int)

描述: 参见 Lua 参考手册

LuaL_checkinteger

[编辑 | 编辑源代码]

函数 luaL_checkinteger:Int (lua_state:Byte Ptr, narg:Int)

描述: 参见 Lua 参考手册

LuaL_checklstring

[编辑 | 编辑源代码]

函数 luaL_checklstring:Byte Ptr (lua_state:Byte Ptr, narg:Int, size:Int Ptr)

描述: 参见 Lua 参考手册

LuaL_checknumber

[编辑 | 编辑源代码]

函数 luaL_checknumber:Double (lua_state:Byte Ptr, narg:Int)

描述: 参见 Lua 参考手册

LuaL_checkstack

[编辑 | 编辑源代码]

函数 luaL_checkstack (lua_state:Byte Ptr, sz:Int, msg$z)

描述: 参见 Lua 参考手册

LuaL_checktype

[编辑 | 编辑源代码]

函数 luaL_checktype (lua_state:Byte Ptr, narg:Int, t:Int)

描述: 参见 Lua 参考手册

LuaL_checkudata

[编辑 | 编辑源代码]

函数 luaL_checkudata:Byte Ptr (lua_state:Byte Ptr, narg:Int, tname$z)

描述: 参见 Lua 参考手册

LuaL_getmetafield

[编辑 | 编辑源代码]

函数 luaL_getmetafield:Int (lua_state:Byte Ptr, obj:Int, e$z)

描述: 参见 Lua 参考手册

LuaL_gsub

[编辑 | 编辑源代码]

函数 luaL_gsub$z (lua_state:Byte Ptr, s$z, p$z, r$z)

描述: 参见 Lua 参考手册

LuaL_loadbuffer

[编辑 | 编辑源代码]

函数 luaL_loadbuffer:Int (lua_state:Byte Ptr, buff:Byte Ptr, sz:Int, name$z)

描述: 参见 Lua 参考手册

LuaL_loadfile

[编辑 | 编辑源代码]

函数 luaL_loadfile:Int (lua_state:Byte Ptr, filename$z)

描述: 请参阅 Lua 参考手册

LuaL_loadstring

[编辑 | 编辑源代码]

函数 luaL_loadstring:Int (lua_state:Byte Ptr, s$z)

描述: 请参阅 Lua 参考手册

LuaL_newmetatable

[编辑 | 编辑源代码]

函数 luaL_newmetatable:Int (lua_state:Byte Ptr, tname$z)

描述: 请参阅 Lua 参考手册

LuaL_newstate

[编辑 | 编辑源代码]

函数 luaL_newstate:Byte Ptr ()

描述: 请参阅 Lua 参考手册

LuaL_openlibs

[编辑 | 编辑源代码]

函数 luaL_openlibs (lua_state:Byte Ptr)

描述: 请参阅 Lua 参考手册

LuaL_optinteger

[编辑 | 编辑源代码]

函数 luaL_optinteger:Int (lua_state:Byte Ptr, narg:Int, d:Int)

描述: 请参阅 Lua 参考手册

LuaL_optlstring

[编辑 | 编辑源代码]

函数 luaL_optlstring:Byte Ptr (lua_state:Byte Ptr, narg:Int, d$z, size:Int Ptr)

描述: 请参阅 Lua 参考手册

LuaL_optnumber

[编辑 | 编辑源代码]

函数 luaL_optnumber:Double (lua_state:Byte Ptr, narg:Int, d:Double)

描述: 请参阅 Lua 参考手册

LuaL_prepbuffer

[编辑 | 编辑源代码]

函数 luaL_prepbuffer:Byte Ptr (B:Byte Ptr)

描述: 请参阅 Lua 参考手册

LuaL_pushresult

[编辑 | 编辑源代码]

函数 luaL_pushresult (B:Byte Ptr)

描述: 请参阅 Lua 参考手册

函数 luaL_ref:Int (lua_state:Byte Ptr, t:Int)

描述: 请参阅 Lua 参考手册

LuaL_register

[编辑 | 编辑源代码]

函数 luaL_register (lua_state:Byte Ptr, libname$z, l:lua_Reg Ptr)

描述: 请参阅 Lua 参考手册

LuaL_typerror

[编辑 | 编辑源代码]

函数 luaL_typerror:Int (lua_state:Byte Ptr, narg:Int, tname$z)

描述: 请参阅 Lua 参考手册

LuaL_unref

[编辑 | 编辑源代码]

函数 luaL_unref (lua_state:Byte Ptr, t:Int, ref:Int)

描述: 请参阅 Lua 参考手册

LuaL_where

[编辑 | 编辑源代码]

函数 luaL_where (lua_state:Byte Ptr, lvl:Int)

描述: 请参阅 Lua 参考手册

LuaL_addchar

[编辑 | 编辑源代码]

函数 luaL_addchar (B:Byte Ptr, c:String)

描述: 请参阅 Lua 参考手册

LuaL_argcheck

[编辑 | 编辑源代码]

函数 luaL_argcheck (lua_state:Byte Ptr, cond:Int, narg:Int, extramsg:String)

描述: 请参阅 Lua 参考手册

LuaL_checkint

[编辑 | 编辑源代码]

函数 luaL_checkint:Int (lua_state:Byte Ptr, narg:Int)

描述: 请参阅 Lua 参考手册

LuaL_checklong

[编辑 | 编辑源代码]

函数 luaL_checklong:Long (lua_state:Byte Ptr, narg:Int)

描述: 请参阅 Lua 参考手册

LuaL_checkstring

[编辑 | 编辑源代码]

函数 luaL_checkstring:String (lua_state:Byte Ptr, narg:Int)

描述: 请参阅 Lua 参考手册

LuaL_dofile

[编辑 | 编辑源代码]

函数 luaL_dofile:Int (lua_state:Byte Ptr, filename:String)

描述: 请参阅 Lua 参考手册

LuaL_dostring

[编辑 | 编辑源代码]

函数 luaL_dostring:Int (lua_state:Byte Ptr, str:String)

描述: 请参阅 Lua 参考手册

LuaL_getmetatable

[编辑 | 编辑源代码]

函数 luaL_getmetatable (lua_state:Byte Ptr, tname:String)

描述: 请参阅 Lua 参考手册

LuaL_optint

[编辑 | 编辑源代码]

函数 luaL_optint:Int (lua_state:Byte Ptr, narg:Int, d:Int)

描述: 请参阅 Lua 参考手册

LuaL_optlong

[编辑 | 编辑源代码]

函数 luaL_optlong:Long (lua_state:Byte Ptr, narg:Int, d:Long)

描述: 请参阅 Lua 参考手册

LuaL_optstring

[编辑 | 编辑源代码]

函数 luaL_optstring:String (lua_state:Byte Ptr, narg:Int, d:String)

描述: 请参阅 Lua 参考手册

LuaL_typename

[编辑 | 编辑源代码]

函数 luaL_typename:String (lua_state:Byte Ptr, idx:Int)

描述: 请参阅 Lua 参考手册

华夏公益教科书