`
leiwuqing
  • 浏览: 14095 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

lua 基本函数

    博客分类:
  • lua
阅读更多

Lua中的基本函数库

 
基本函数库为Lua内置的函数库,不需要额外装载

assert (v [, message])
功能:相当于C的断言,
参数:
v:当表达式v为nil或false将触发错误,
message:发生错误时返回的信息,默认为"assertion failed!"


--------------------------------------------------------------------------------

collectgarbage (opt [, arg])
功能:是垃圾收集器的通用接口,用于操作垃圾收集器
参数:
opt:操作方法标志
"Stop": 停止垃圾收集器 
"Restart": 重启垃圾收集器 
"Collect": 执行一次全垃圾收集循环
"Count": 返回当前Lua中使用的内存量(以KB为单位)
"Step": 单步执行一个垃圾收集. 步长 "Size" 由参数arg指定 (大型的值需要多步才能完成),如果要准确指定步长,需要多次实验以达最优效果。如果步长完成一次收集循环,将返回True
"Setpause": 设置 arg/100 的值作为暂定收集的时长 
"Setstepmul": 设置 arg/100 的值,作为步长的增幅(即新步长=旧步长*arg/100)


--------------------------------------------------------------------------------

dofile (filename)
功能:打开并且执行一个lua块,当忽略参数filename时,将执行标准输入设备(stdin)的内容。返回所有块的返回值。当发生错误时,dofile将错误反射给调用者
注:dofile不能在保护模式下运行


--------------------------------------------------------------------------------

error (message [, level])
功能:终止正在执行的函数,并返回message的内容作为错误信息(error函数永远都不会返回)
通常情况下,error会附加一些错误位置的信息到message头部.
Level参数指示获得错误的位置,
Level=1[默认]:为调用error位置(文件+行号)
Level=2:指出哪个调用error的函数的函数
Level=0:不添加错误位置信息


--------------------------------------------------------------------------------

_G全局环境表(全局变量)
功能:记录全局环境的变量值的表 _G._G = _G


--------------------------------------------------------------------------------

getfenv(f)
功能:返回函数f的当前环境表
参数:f可以为函数或调用栈的级别,级别1[默认]为当前的函数,级别0或其它值将返回全局环境_G


--------------------------------------------------------------------------------

getmetatable(object)
功能:返回指定对象的元表(若object的元表.__metatable项有值,则返回object的元表.__metatable的值),当object没有元表时将返回nil


--------------------------------------------------------------------------------

ipairs (t)
功能:返回三个值 迭代函数、表、0
多用于穷举表的键名和键值对
如:for i,v in ipairs(t) do 

end
每次循环将索引赋级i,键值赋给v
注:本函数只能用于以数字索引访问的表 如:t={"1","cash"}


--------------------------------------------------------------------------------

load (func [, chunkname])
功能:装载一个块中的函数,每次调用func将返回一个连接前一结的字串,在块结尾处将返回nil
当没有发生错误时,将返回一个编译完成的块作为函数,否则返回nil加上错误信息,此函数的环境为全局环境
chunkname用于错误和调试信息


--------------------------------------------------------------------------------

loadfile ([filename])
功能:与load类似,但装载的是文件或当没有指定filename时装载标准输入(stdin)的内容


--------------------------------------------------------------------------------

loadstring (string [, chunkname])
功能:与load类似,但装载的内容是一个字串
如:assert(loadstring(s))()


--------------------------------------------------------------------------------

next (table [, index])
功能:允许程序遍历表中的每一个字段,返回下一索引和该索引的值。
参数:table:要遍历的表
   index:要返回的索引的前一索中的号,当index为nil[]时,将返回第一个索引的值,当索引号为最后一个索引或表为空时将返回nil
注:可以用next(t)来检测表是否为空(此函数只能用于以数字索引的表与ipairs相类似)


--------------------------------------------------------------------------------

ipairs (t)
功能:返回三个值 next函数、表、0
多用于穷举表的键名和键值对
如:for n,v in pairs(t) do 

end
每次循环将索引赋级i,键值赋给v
注:本函数只能用于以键名索引访问的表 如:t={id="1",name="cash"}


--------------------------------------------------------------------------------

pcall (f, arg1, ···)
功能:在保护模式下调用函数(即发生的错误将不会反射给调用者)
当调用函数成功能返回true,失败时将返回false加错误信息


--------------------------------------------------------------------------------

print (···)
功能:简单的以tostring方式格式化输出参数的内容


--------------------------------------------------------------------------------

rawequal (v1, v2)
功能:检测v1是否等于v2,此函数不会调用任何元表的方法


--------------------------------------------------------------------------------

rawget (table, index)
功能:获取表中指定索引的值,此函数不会调用任何元表的方法,成功返回相应的值,当索引不存在时返回nil
注:本函数只能用于以数字索引访问的表 如:t={"1","cash"}


--------------------------------------------------------------------------------

rawset (table, index, value)
功能:设置表中指定索引的值,此函数不会调用任何元表的方法,此函数将返回table


--------------------------------------------------------------------------------

select (index, ···)
功能:当index为数字将返回所有index大于index的参数:如:select(2,"a","b") 返回 "b"
当index为"#",则返回参数的总个数(不包括index)


--------------------------------------------------------------------------------

setfenv (f, table)
功能:设置函数f的环境表为table
参数:f可以为函数或调用栈的级别,级别1[默认]为当前的函数,级别0将设置当前线程的环境表


--------------------------------------------------------------------------------

setmetatable (table, metatable)
功能:为指定的table设置元表metatable,如果metatable为nil则取消table的元表,当metatable有__metatable字段时,将触发错误
注:只能为LUA_TTABLE 表类型指定元表


--------------------------------------------------------------------------------

tonumber (e [, base])
功能:尝试将参数e转换为数字,当不能转换时返回nil
base(2~36)指出参数e当前使用的进制,默认为10进制,如tonumber(11,2)=3


--------------------------------------------------------------------------------

tostirng(e)
功能:将参数e转换为字符串,此函数将会触发元表的__tostring事件


--------------------------------------------------------------------------------

type(v)
功能:返回参数的类型名("nil","number", "string", "boolean", "table", "function", "thread", "userdata")


--------------------------------------------------------------------------------

unpack (list [, i [, j]])
功能:返回指定表的索引的值,i为起始索引,j为结束索引
注:本函数只能用于以数字索引访问的表,否则只会返回nil 如:t={"1","cash"}


--------------------------------------------------------------------------------

_VERSION
功能:返回当前Lua的版本号"Lua 5.1". 


--------------------------------------------------------------------------------

xpcall (f, err)
功能:与pcall类似,在保护模式下调用函数(即发生的错误将不会反射给调用者)
但可指定一个新的错误处理函数句柄
当调用函数成功能返回true,失败时将返回false加err返回的结果
分享到:
评论

相关推荐

    Lua的使用入门之在C++程序中调用lua函数1

    基本的调用lua变量与函数,实现文本的获取与显示策略,若要改变显示方式,只要修改move()函数即可.

    lua库说明和一些例程

    lua库说明和一些例程,lua元表和元方法,lua基本函数库,lua模式匹配

    Lua的最基本使用 C++与lua的互相调用

    C++调用Lua函数 以及Lua调用C++函数

    lua学习参考

    lua学习 相关函数库和学习参考资料。 包括:lua4.0函数库 lua5.2API函数 lua-table函数库 ...lua基本函数库 lua模式匹配 lua数学库 lua文件处理 lua系统库 lua学习总结 lua元表和元方法 string库函数 简单C访问lua

    十分钟Lua脚本系统入门

    Lua基本语法 Lua脚本加载执行 通信:Lua脚本中调用Native函数 通信:Native代码中调用Lua函数 通信:Native代码中访问Lua全局变量 解决方案包含以下工程(VS2010) HelloLua:一个演示使用Lua的TestCase. lualib:...

    lua基础学习文档

    lua基本文档,适合初学时,包含lua函数库 lua模式匹配 lua文件处理 lua表和元方法

    cocos2dx在LuaStudio中基本库函数配置文件

    其中配置包括了cocos2dx 2.0.4和cocos2dx2.1.3在lua中所有函数,类,类的成员变量和方法以及相关枚举定义 使用方法: 1.打开本目录下LuaKeywords.config,将里面内容复制到LuaStudio的自定义函数配置中 2.拷贝cocos...

    C语言拓展实现Lua sleep函数

    这几天在做一个小项目,其中用到了一些基本的API, 例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多第三方库有点...

    举例简介Lua中函数的基本用法

    主要介绍了举例简介Lua中函数的基本用法,--两个横线开始单行的注释,--[[加上两个[和]表示多行的注释--]],需要的朋友可以参考下

    lua程序设计和参考手册

    如何让EditPlus支持LUA; lua-5.1.4.tar.gz; lua程序设计中文版.pdf; Lua+5.1+参考手册.pdf; Lua一些基本函数.txt; Programming_in_LUA中文版.txt; Lua 5_1 参考手册.mht;

    delphi7与lua相互调用的例子

    delphi7与lua相互调用的例子,基本和法和C调用lua差不多

    基于Lua实现的脚本和服务器引擎Node-Lua.zip

    调用同步和异步api时引擎核心层将会自动挂起正在执行的lua函数(coroutine),直接放弃占用的cpu资源; 服务创建以指定lua文件为入口脚本文件,脚本直接运行在新服务的coroutine环境中,支持在入口脚本当中直接调用...

    teaEntityInLua:Lua 中的继承和基本函数式编程库

    茶实体InLua Lua 中的继承和基本函数式编程库。

    lua编程指南

    学习lua从零开始详细介绍lua的基本语法,系统内部函数说明

    LuaForWindows_v5.1.4-45-last.exe Lua开发工具

    Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。 Lua由...

    用于 Raspberry Pi Pico微控制器的 Lua 编程环境_C语言_代码_相关文件_下载

    添加了 Lua 函数来控制 Pico 的 GPIO 和其他外围设备。因此,无需任何特定的开发工具,就可以输入和运行操作连接设备的简单程序。支持通用数字输入/输出、模拟输入、PWM 输出和 I2C。 picolua与 Pico 上的 ...

    LuaBind 源码 (Lua增强库)

    能力支持函数式的定义一个Lua类,而且使之继承自C++或者Lua. Lua类可以覆写从 C++ 基类 继承来的虚函数. 她的目标平台是Lua 5.0 ,不能支持Lua 4.0 . 她利用模板原编程技术实现.这意味着,你不需要额外的预处理过程去...

    lua学习资料

    LUA的一些函数库,基本实例,文件处理,学习总结,和C互通

    LUA5.1 脚本语言 编译执行源码

    而在语义上Lua则与Scheme极为相似,她们完全共享上述的1、3、4、6点特性,Scheme的continuation与协程也基本相同只是自由度更高。最引人注目的是,两种语言都只提供唯一一种数据结构:Lua的表和Scheme的列表(list)。...

    C/C++的Lua快速入门

    义的方式等等显而易见的东西,以及一些诸如变量、函数等编程语言的基本概 念。本文只打算告诉读者Lua那些与C/C++显著不同的东西以及它们实际上带来了 怎样不同于C/C++的思考方式。不要小看它们,它们即将颠覆你传统...

Global site tag (gtag.js) - Google Analytics