Lua教程(十三):弱引用table
lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们。然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃圾收集器是无法准确的判断是否应该将当前...Lua教程(十四):字符串库详解
1.基础字符串函数:字符串库中有一些函数非常简单,如:1).string.len(s)返回字符串s的长度;2).string.rep(s,n)返回字符串s重复n次的结果;3).string.lower(s)返回s的副本,其中所有的大写都被转换...- 0
- 0
- 0
- 0
- 0
Lua教程(十五):输入输出库(I/O库)
i/o库为文件操作提供了两种不同的模型,简单模型和完整模型。简单模型假设一个当前输入文件和一个当前输出文件,他的i/o操作均作用于这些文件。完整模型则使用显式的文件句柄,并将所有的操作定义为...- 0
- 0
- 0
- 0
- 0
Lua教程(十六):系统库(os库)
lua为了保证高度的可移植性,因此,它的标准库仅仅提供了非常少的功能,特别是和os相关的库。但是lua还提供了一些扩展库,比如posix库等。对于文件操作而言,该库仅提供了os.rename函数和os.remove函...- 0
- 0
- 0
- 0
- 0
Lua教程(十七):C API简介
lua是一种嵌入式脚本语言,即lua不是可以单独运行的程序,在实际应用中,主要存在两种应用形式。第一种形式是,c/c++作为主程序,调用lua代码,此时可以将lua看做“可扩展的语言”,我们将这种应用称为“...- 0
- 0
- 0
- 0
- 0
Lua中的逻辑运算符使用详解
下表列出了所有的lua语言支持的逻辑运算符。假设变量a持有true,而变量b持有false:示例试试下面的例子就明白了所有的lua编程语言提供的逻辑运算符:复制代码代码如下:a=5b=20if(aandb)thenprint("...- 0
- 0
- 0
- 0
- 0
Lua中..和#运算符的使用方法
通过lua语言支持其他运算符包括串联和长度。例子试试下面的例子就明白了在lua编程语言提供的其他运算符:复制代码代码如下:a="hello"b="world"print("concatenationofstringawithbis",a..b)print...- 0
- 0
- 0
- 0
- 0
Lua教程(二十):Lua调用C函数
lua可以调用c函数的能力将极大的提高lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过c函数来实现,之后再通过lua调用指定的c函数。对于那些可...- 0
- 0
- 0
- 0
- 0
Lua教程(二十一):编写C函数的技巧
1.数组操作:在lua中,“数组”只是table的一个别名,是指以一种特殊的方法来使用table。出于性能原因,lua的capi为数组操作提供了专门的函数,如:复制代码代码如下:voidlua_rawgeti(lua_state*l,intin...- 0
- 0
- 0
- 0
- 0
举例讲解Lua中的Table数据结构
文中--两个横线开始单行的注释,--[[加上两个[和]表示多行的注释--]]。--table=lua唯一的数据结构;--它们是关联数组。--类似于php的数组或者js的对象,--它们是哈希查找表(dict),也可以按list去使...- 0
- 0
- 0
- 0
- 0
举例说明Lua中元表和元方法的使用
table的元表提供了一种机制,可以重定义table的一些操作。之后我们会看到元表是如何支持类似js的prototype行为。f1={a=1,b=2}--表示一个分数a/b.f2={a=2,b=3}--这个是错误的:--s=f1+f2metafractio...- 0
- 0
- 0
- 0
- 0
Lua中使用模块的一些基础知识
--两个横线开始单行的注释,--[[加上两个[和]表示多行的注释--]]。--假设文件mod.lua的内容是:localm={}localfunctionsaymyname()print('hrunkner')endfunctionm.sayhello()print('whyhellothere...- 0
- 0
- 0
- 0
- 0
深入探究Lua中的解析表达式
使用一个模式这个例子显示了一个建立和使用模式的程序,它非常简单但很完整:locallpeg=require"lpeg"--matchesawordfollowedbyend-of-stringp=lpeg.r"az"^1*-1print(p:match("hello"))-->6print...- 0
- 0
- 0
- 0
- 0
详解Lua中的while循环语句的使用
在lua编程语言中的while循环语句,只要给定的条件为真时将重复执行的目标语句。语法lua编程语言中的while循环的语法是:复制代码代码如下:while(condition)dostatement(s)end在这里,声明(s)可以是...- 0
- 0
- 0
- 0
- 0
Lua中for循环语句的使用教程
for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环。语法lua编程语言的for循环的语法是:复制代码代码如下:forinit,max/minvalue,incrementdostatement(s)end下面是控制在一个...- 0
- 0
- 0
- 0
- 0
详解Lua中repeat...until循环语句的使用方法
与for和while循环不同,在循环的顶部测试循环条件,lua编程语言的repeat...until循环检查循环底部的状态。repeat...until循环类似于while循环,不同的是do...while循环是保证至少执行一次。语法lua...- 0
- 0
- 0
- 0
- 0
使用Lua来扩展C++程序的方法
介绍如果用户能够通过一些脚本语言来修改应用本身的行为,那么许多应用可以变得更适合用户使用。一些商业应用就提供了此类便利。例如microsoftoffice的vba脚本编程或在视频游戏worldofwarcraft中...- 0
- 0
- 0
- 0
- 0
在Mac OS中安装Lua的教程
lua是一个轻量级的编程语言,在游戏开发上使用非常多。在这篇文章中,我们将向你介绍在macosx系统上安装和使用最新版本的lua5.2.1。如果你的系统已经安装了rudix,只需要执行sudorudixinstalllua即...- 0
- 0
- 0
- 0
- 0