- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 快速掌握Lua 5.3 —— 字符串库 (3)
Q:什么情况下"pattern"会匹配空串?----------------------A:要小心的使用`*`和`-`,因为它们可以匹配零次。```-- 如果你打算用"%a*"匹配单词,你会发现到处都是单词。print(string.find(";$% **#$hello13", "%a*")) --> 1 0print(string.find(";$% **#$hello13", "%a
2016-02-21 22:47:31 2680 3
原创 快速掌握Lua 5.3 —— 字符串库 (1)
Q:对字符串操作的基本函数? A:--[[ string.byte(s [, i [, j]]) 依次返回字符串"s"中从"i"到"j"的字符的ASCII码。 "i"默认为1,"j"默认为"i"。"i"或"j"如果为负数,则在字符串"s"中从后往前数。]]print(string.byte("abc")) --> 97print(st
2016-02-21 15:35:01 4034
原创 快速掌握Lua 5.3 —— 字符串库 (2)
Q:模式匹配字符串的相关函数? A:--[[ string.find(s, pattern [, init [, plain]]) 在字符串"s"中查找第一个与匹配模式"pattern"相匹配的子串, 函数返回子串的开始位置和终止位置。如果未找到返回"nil"。 如果在"pattern"中定义了捕获,捕获到的若干值也会在之后依次返回。 "init"
2016-02-21 13:53:21 2555
原创 快速掌握Lua 5.3 —— "table"库
Q:如何向”table”中插入和删除元素?A:之前提到的,向”table”中插入元素使用索引的方式,而删除’table”中的元素则是将其赋为nil。这里介绍的是”table”库中提供的插入与删除函数,--[[ table.insert(list, [pos,] value) 向表"list"的"pos"位置插入值"value"。 list[pos], list[pos+1], ·
2016-02-17 15:25:55 2486
原创 快速掌握Lua 5.3 —— "Weak Tables"以及数学库
Q:“引用”和“引用计数”?--------------A:“引用”既为对象的名字。比如`a = {}`,名叫`a`的变量存储的值是一个"table","table"的名字是`a`;同时还可以说变量`a`存储着"table"的“引用”。当“(强)引用”被创建时,对象的“引用计数”加1,只要对象的“引用计数”不为0,对象就不会被销毁,Lua的“垃圾回收系统”只回收那些“引用计数”为0的对象。
2016-02-15 11:26:56 2007
原创 快速掌握Lua 5.3 —— 面向对象编程
Q:如何在Lua中定义对象的方法以及调用对象的方法? A:面向对象的特殊性在于它以this指针的方式传递了对象本身,并且这种操作是隐藏起来的。 在Lua中使用:实现面向对象方式的调用。:只是一个语法糖,它同时在方法的声明与实现中增加一个名为self的隐藏参数(对象本身)。Account = {balance = 1000} -- 账户余额初始为1000。--[[ 取钱。
2016-02-13 22:03:50 5199
原创 快速掌握Lua 5.3 —— packages
Q:Lua如何管理”package”? A:Lua使用”table”来表示”package”,就像Lua标准库的做法一样。我们也可以使用”table”来创建自己的”package”。-- "complex.lua"文件中,一个实现对复数运算的"package"。complex = {}-- 用一个"table"表示一个复数,"r"是实部,"i"是虚部。function compl
2016-02-09 00:14:53 1105
原创 快速掌握Lua 5.3 —— 环境
Q:_G? A:_G是一个普通的”table”,它其中存储了当前运行环境中所有的全局变量。type(_G) --> tablefor n in pairs(_G) do print(n) end -- 打印当前运行环境中所有全局变量。我们平常在程序中所写的全局变量就存储在其中,全局变量名是”key”,全局变量值是”value”,a = 10print(_G["a"])
2016-02-05 17:12:23 3355
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人