转载地址:http://www.yiibai.com/lua/lua_standard_libraries.html

  Lua的标准库提供了一组丰富的功能,与C的API直接实现,建立在Lua编程语言函数。Lua编程语言中这些库提供服务,还提供外部服务,如文件和数据库操作。

建于官方的C的API,这些标准库是作为单独的C模块。这包括:

  • 基本库,其中包括协程分库

  • 模块库

  • 字符串操作

  • 表操作

  • 数学库

  • 文件输入和输出

  • 操作系统工具

  • 调试设备

基本库

我们使用的基本库根据遍及不同主题的教程。下表提供了所有相关的网页链接,并列出了将在本教程Lua的各个组成部分的函数

S.N. 库/方法及用途
1. Error Handling
包括错误处理功能,如断言,误差 - 错误处理。
2. Memory Management
I包括与垃圾回收Lua中所解释的自动内存管理功能
3. dofile ([filename])
它打开该文件并执行该文件作为一个块的内容。如果不带参数传递,那么这个函数执行标准输入的内容。这些错误将传播给调用者。
4. _G 
因而是保持全局环境全局变量(即,_G._G=_G)。 LUA本身并不使用这个变量。
5. getfenv ([f])
返回当前的环境中使用的功能。 f能够是一个Lua函数或数字,指定在该协议栈级别的函数:1级是函数调用getfenv。如果给定的功能是不是一个Lua函数,或者如果f是0,getfenv返回全局环境。默认为f为1。
6. getmetatable (object)
如果对象没有元表,返回nil。否则,如果对象的元表具有“__metatable”字段,返回相关值。否则,返回给定对象的元表。
7. ipairs (t)
此函数读取表的索引和值。
8. load (func [, chunkname])
使用加载函数func获取其部分组块。每次调用func必须返回与先前的结果连接字符串。
9. loadfile ([filename]))
类似于加载,但是从文件的文件名或从标准输入得到的块,如果没有给出文件名。
10. loadstring (string [, chunkname])
类似于加载,但是从给定的字符串得到的组块。
11. next (table [, index])
允许程序遍历表的所有字段。它的第一个参数是一个表,它的第二个参数是该表的索引。接下来返回表及其关联值的一个索引。
12. pairs (t)
暂停运行的协程。传递给该方法的参数作为附加的返回值以恢复功能。
13. print (...)
暂停运行的协程。传递给该方法的参数作为附加的返回值以恢复功能。
14. rawequal (v1, v2)
检查V1是否等于V2,没有调用任何元方法。返回一个布尔值。
15. rawget (table, index)
获取表[索引]的真正值,而不调用任何元方法。表必须是表;索引可以是任何值。
16. rawset (table, index, value)
设置表[索引]值,真正的值没有调用任何元方法。表必须是一个表,索引从不同的无任何值,Lua的任何值。这个函数返回表。
17. select (index, ...)
如果索引是一个数字,返回后的参数数量索引的所有参数。否则,索引必须是字符串“#”,然后选择返回到额外参数总数。
18. setfenv (f, table)
设置要使用的特定函数的环境。f 是一个Lua函数或数字,指定在该协议栈级别的函数:1级是函数调用setfenv。 setfenv返回给定的功能。作为一种特殊情况,当f是0 setfenv改变正在运行的线程的环境。在这种情况下,setfenv不返回任何值。
19. setmetatable (table, metatable)
设置元表对给定表。 (不能从Lua中改变其它类型的元表,只能从C)若元表为零,消除了给定表的元表。如果原来的metatable有一个“__metatable”字段,将引发错误。这个函数返回表。
20. tonumber (e [, base])
尝试将它的参数转换为数字。如果参数已经是一个数字或一个字符串转换为一个数字,然后tonumber返回这个数;否则,返回nil。
21. tostring (e)
接收到任何类型的参数,并将其转换为一个字符串,一个合理的格式。有关如何数转换完全控制,使用String.Format。
22. type (v)
返回其唯一参数的类型,编码为一个字符串。这个函数的可能结果是“nil”(字符串,而不是值为零),“数字”,“串”,“布尔”,“表”,“功能”,“线”和“用户数据”。
23. unpack (list [, i [, j]])
返回从给定表中的元素。
24. _VERSION
全局变量(不是函数)保存包含当前翻译版本的字符串。这个变量的当前内容是“Lua5.1”。
25. Coroutines
包括协程操作功能

模块库

这些模块库提供了在Lua基本的功能模块加载。它直接在全局环境中导出一个函数:require。导出表中一切的包。有关模块库的细节在前面的章节中解释

字符串操作

Lua中提供了一组丰富的字符串处理函数。Lua - 字符串教程介绍这个细节。

表操作

Lua依赖表中的操作几乎每一个比特位。较早的Lua- 表教程介绍这个细节。

数学库

在任何编程语言,数学函数,通常需要做各种科学和工程计算。

文件输入和输出

我们经常需要数据存储设备的编程,这是Lua中提供标准库函数对文件I/O的。在早期的Lua文件I/O教程有讨论。

操作系统工具

有时,可能需要我们访问操作系统功能。这些函数在Lua解释 - 操作系统工具教程。

调试设备

Lua中提供了一个调试库,它提供了所有的基本函数,我们用来创造自己的调试器。

Lua标准库(转)的更多相关文章

  1. Lua标准库- 模块(Modules)

    Lua包库为lua提供简易的加载及创建模块的方法,由require.module方法及package表组成 1.module (name [, ···]) 功能:建立一个模块. module的处理流程 ...

  2. lua工具库penlight--01简介

    lua的设计目标是嵌入式语言,所以和其它动态语言(如python.ruby)相比其自带的库缺少很多实用功能. 好在有lua社区有Penlight,为lua提供了许多强大的功能,接下来的几篇博客,我会简 ...

  3. Step By Step(Lua输入输出库)

    Step By Step(Lua输入输出库) I/O库为文件操作提供了两种不同的模型,简单模型和完整模型.简单模型假设一个当前输入文件和一个当前输出文件,他的I/O操作均作用于这些文件.完整模型则使用 ...

  4. 标准库 - 输入输出处理(input and output facilities) lua

    标准库 - 输入输出处理(input and output facilities)责任编辑:cynthia作者:来自ITPUB论坛 2008-02-18 文本Tag: Lua [IT168 技术文档] ...

  5. Boost程序库完全开发指南——深入C++“准”标准库(第3版)

    内容简介  · · · · · · Boost 是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉. Boost 由C++标准委员会部分成员所设立的Bo ...

  6. lua工具库penlight--09技术选择

    模块化和粒度 在理想的世界,一个程序应该只加载它需要的库.Penlight需要额外100 Kb 的字节码来工作.它是简单但却乏味要加载你需要什么: local data = require 'pl.d ...

  7. Lua 学习之基础篇五<Lua OS 库>

    lua os库提供了简单的跟操作系统有关的功能 1.os.clock() 返回程序所运行使用的时间 local nowTime = os.clock() print("now time is ...

  8. Boost,Eigen,Flann—C++标准库预备役

    Boost,Eigen,Flann—C++标准库预备役 第一预备役:Boost      Boost库是为C++语言标准库提供扩展的一些C++程序库的总称. Boost库由Boost社区组织开发.维护 ...

  9. Python标准库、第三方库和外部工具汇总

    导读:Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具. 这些库可用于文件读写.网络抓取和解析.数据连 ...

随机推荐

  1. SQL 创建索引的作用以及如何创建索引

    SQL 创建索引的作用以及如何创建索引 SQL 创建索引的作用 一.使用索引的优点: 1.通过唯一性索引(unique)可确保数据的唯一性 2.加快数据的检索速度 3.加快表之间的连接 4.减少分组和 ...

  2. cisco 路由配置

    Cisco路由配置基础 刚刚接触cisco路由配置,下面是学习的笔记,感觉命令还是多敲才能熟悉 一. 所处状态各类 router> 用户处于用户命令状态,可以查看网络和主机 router# 用户 ...

  3. 关于php用simplexml_load_string解析xml出现乱码的小结

    最近在做项目时需要通过xml接口读取合作伙伴数据到数据库,在xml解析环节出现有些特殊中文字符乱码的现象.后采取下面的办法终于解决. 1.curl 抓取过来的字符是unicode编码,需要先转换为ut ...

  4. 蓝桥杯历届试题 地宫取宝 dp or 记忆化搜索

    问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...

  5. 如何给一个网卡配置多个虚拟ip

    1.执行命令 ifconfig etho: 192.168.1.101 netmask 255.255.255.0 up 2.要想永久保存,则将刚刚那行代码写入/etc/rc.local  (开机都会 ...

  6. spring中配置jdbc数据源

    1.加入jdbc驱动器包,mysql-connector-java.jar 2.加入commons-dbcp.jar配置数据源 3.在classpath下新建文件jdbc.properties,配置j ...

  7. jquery之getJSON方法获取中文数据乱码解决方法

    最近公司做的东西要用到js,感觉js太繁琐,所以自己学起了jquery,发现jquery确实强大.在学到jquery ajax的时候(用的工具是eclipse),发现$.getJSON()方法请求服务 ...

  8. 二模 (11) day1

    第一题: 题目大意:用邻接矩阵给出一棵树(边权非负)上N个节点相互之间的最短路距离,求这棵树所有边权的和. 解题过程: 1.暂时还没想出来,待AC. 第二题: 题目大意:给出一些单词,然后建立Trie ...

  9. C# 小规模查找集合性能测试

    项目中包含浮点运算,大概每秒 20 - 100 万左右. 其计算结果每秒只包含1000个左右. 因此大量运算是重复性的.程序运行时,cpu 在 3% - 10% 浮动.打算将结果缓存.根据键值索值. ...

  10. [转]Vimium快捷键

    from: http://www.cppblog.com/deercoder/archive/2011/10/22/158886.html 今天下午折腾了一下Chrome下面的一个插件Vimium的使 ...