-
Lua教程(十五):输入输出库(I/O库)
I/O库为文件操作提供了两种不同的模型,简单模型和完整模型。简单模型假设一个当前输入文件和一个当前输出文件,他的I/O操作均作用于这些文件。完整模型则使用显式的文件句柄,并将所有的操作定义为文件句柄上的方法。1. 简单模型:I/O库会将进程标准输入输出作为其缺省的输入文件和输出文件。我们可以通过io...
kavin 2018.05.20 2736浏览 0 -
Lua教程(十四):字符串库详解
1. 基础字符串函数:字符串库中有一些函数非常简单,如:1). string.len(s) 返回字符串s的长度;2). string.rep(s,n) 返回字符串s重复n次的结果;3). string.lower(s) 返回s的副本,其中所有的大写都被转换为了小写形式,其他字符不变;4). stri...
kavin 2018.05.20 2452浏览 0 -
Lua教程(十三):弱引用table
Lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们。然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃圾收集器是无法准确的判断是否应该将当前对象清理。这样就极有可能导致很多垃圾对象无法被释放。为了解决这一问题,就需要Lua的开发者予以一定程度上的配合。比...
kavin 2018.05.20 2398浏览 0 -
Lua教程(十二):面向对象编程
Lua中的table就是一种对象,但是如果直接使用仍然会存在大量的问题,见如下代码: Account = {balance = 0} function Account.withdraw(v) &nbs...
kavin 2018.05.20 2499浏览 0 -
Lua教程(十一):模块与包详解
从Lua 5.1开始,我们可以使用require和module函数来获取和创建Lua中的模块。从使用者的角度来看,一个模块就是一个程序库,可以通过require来加载,之后便得到一个类型为table的全局变量。此时的table就像名字空间一样,可以访问其中的函数和常量,如:require ...
kavin 2018.05.20 2339浏览 0