自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Lua中字符串类型的源码实现

概述    Lua完全采用8位编码,Lua字符串中的字符可以具有任何数值编码,包括数值0。也就是说,可以将任意二进制数据存储到一个字符串中。Lua的字符串是不可变的值(immutable values)。如果修改,实质上是新建一个字符串。根据《Lua中数据类型的源码实现》中知道,在Lua中,字符串是自动内存管理机制所管理的对象,并且由联合体TString来实现存储字符串值的。下面将通过Lu

2015-03-31 21:57:47 3430

原创 Lua中数据类型的源码实现

概述    在Lua中有8种基础类型:nil、boolean、number、string、userdata、function、thread和table。可以使用函数type查看某个变量或值的类型,返回相应的类型名称。像其他动态语言一样,在语言中没有类型定义的语法,每个值都携带了它自身的类型信息。下面将通过Lua 5.2.1的源码来看类型的实现。   源码实现     Lua将值表示

2015-03-30 19:36:45 3104

原创 Lua中的模块以及实现方法

从使用的角度来看,一个模块就是一个程序库,可以通过Lua自身提供的require来加载。然后便得到一个全局变量,表示一个table。这个table就是像一个名字空间,其内容就是模块导出的所有东西,例如函数和常量。简单的说,Lua中的模块就是一个table,table中可以包括任何东西。本文首先详细介绍模块相关的require函数,包括该函数的执行流程以及查找模块的路径,然后介绍了实现模块的三种方法

2015-03-29 16:12:39 5609

原创 Lua中类的实现

概述     一个类就是像是一个创建对象的模具,对于Lua这种没有类的概念的语言,为了模拟类,方法是为要创建的对象制定一个原型(prototype)。这个原型相当于其他语言中的类。但是原型同时也是一种常规的对象,当其他的对象(看成是原型的实例)遇到一个未知的操作时,就会去原型中查找。因此,在Lua这种没有类的语言中,为了表示一个类,只需创建一个专用作其他对象的原型。类和原型都是一种组织对象间共

2015-03-28 20:49:26 1906

原创 深入理解Lua的闭包一:概念、应用和实现原理

本文首先通过的例子讲解了Lua中闭包的概念,然后总结了闭包的应用场合,最后探讨了Lua中闭包的实现原理。闭包的概念在Lua中,闭包(closure)是由一个函数和该函数会访问到的非局部变量(或者是upvalue)组成的,其中非局部变量(non-local variable)是指不是在局部作用范围内定义的一个变量,但同时又不是一个全局变量,主要应用在嵌套函数和匿名函数里,因此若一个闭包没有会

2015-03-15 20:25:28 33923 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除