摘要: 每次系统内存不足,卡的不行就恨不得马上换新手机,发现手机也没有什么大的毛病,也没有其他苛刻的要求。 换个新系统继续使用吧,除了屏幕小了一点,将就了吧。物尽其责,坚决抵制过度消费。 小米手机2s 16G 联通版,购买于2013-4-12。 一、所需资源和工具: 下载刷机工具: MiPhone20151 阅读全文
posted @ 2016-09-18 10:21 daiker 阅读(460) 评论(0) 推荐(0) 编辑
摘要: Lua支持具有层级性的模块名,可以用一个点来分隔名称中的层级。 比如,一个mod.sub模块,它就是mod的子模块。一个包(package)就是一个完整的模块树。 当你require "mod.sub"时,require首先会用"mod.sub"作为key,去询问package.loaded 然后找 阅读全文
posted @ 2016-09-13 11:35 daiker 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 创建模块的基本方法的缺点在于,忘记使用local,很容易就污染全局空间。 “函数环境”是一种有趣的技术,它能够解决上面的问题。就是让模块的主程序块独占一个环境。 这样不仅它的所有函数可以共享这个table,而且它的所有全局变量也都记录在这个table中。还可以将所有的公有函数声明为全局变量。 这样它 阅读全文
posted @ 2016-09-12 19:45 daiker 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 在Lua中创建一个模块最简单的方法是:创建一个table。 并将所有需要导出的函数放入其中,最后返回这个table。 下例中的inv声明为程序块的局部变量,就是将其定义成一个私有的名称: 有的人不喜欢最后的return语句,可以通过下面的方法消除它: require调用加载器时,会把模块名作为第一个 阅读全文
posted @ 2016-09-12 19:03 daiker 阅读(148) 评论(0) 推荐(0) 编辑
摘要: Lua提供了一个名为require的高层函数来加载模块,但这个函数只假设了关于模块的基本概念。 对于require而言,一个模块就是一段定义了一些值(函数或者包含函数的table)的代码。 为了加载一个模块,只需要简单调用require "modname" 。这个函数首先会查找package.loa 阅读全文
posted @ 2016-09-12 18:04 daiker 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 通常,Lua不会设置规则,相反会提供很多强有力的机制来使开发者有能力实现出最适应的规则。 然而,这种方法对于模块就不行了。模块系统的一个主要目标是允许以不同的形式来共享代码。 但若没有一项公共的规则就无法实现这样的共享。 从Lua5.1版本开始,就为模块和包定义了一系列的规则。不统一的实现可能会使程 阅读全文
posted @ 2016-09-12 10:07 daiker 阅读(122) 评论(0) 推荐(0) 编辑
摘要: load在加载代码块时,通常使用全局环境去初始化代码块的_ENV上值。 然而,load选项的第四个参数给出的值就是供_ENV用的。(loadfile函数参数也是一样) 举一个有关初始化的例子,假如我们有一个普通的配置文件,定义了一些常量和函数供程序使用。 然后用下面的代码加载: 配置文件中的代码就会 阅读全文
posted @ 2016-09-11 17:18 daiker 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 因为_ENV是一个普通的变量,我们可以像其他变量一样去对它进行赋值和访问。 上面的赋值操作,将会使得在它之后的代码块不能直接访问全局变量。不过,对控制你的代码所使用的变量有用处。 我们可以明确地用_ENV来绕过局部变量的声明。 一个主要用途是用它去改变一块代码的环境。一旦你改变了环境,所有的全局访问 阅读全文
posted @ 2016-09-09 17:52 daiker 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 关于“环境”的一大问题在于它是全局的,任何对它的修改都会影响程序的所有部分。 例如:若安装一个元表用于控制全局变量的访问,那么整个程序都必须遵循这个规范。 当使用某个库时,没有先声明就使用了全局变量,那么这个程序就无法运行。 在Lua中,全局变量并不需要一定是全局的。甚至可以说Lua没有全局变量。 阅读全文
posted @ 2016-09-08 19:59 daiker 阅读(110) 评论(0) 推荐(0) 编辑
摘要: Lua中的全局变量不需要声明就可以使用。对于小程序十分方便,但是大型程序中 一处简单的笔误就可能造成难以发现的bug。 不过,这种性能可以改变。由于Lua将全局变量放在一个普通的table中,可以通过元表来改变其访问全局变量时的行为。 一种方法是简单地检测所有对全局table中不存在key的访问: 阅读全文
posted @ 2016-09-08 19:20 daiker 阅读(199) 评论(0) 推荐(0) 编辑