第四章 基本语法 4.1赋值语句 赋值是改变一个变量的值和改变表域的最基本的方法。 a = "hello" .. "world" t.n = t.n + 1 Lua 可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语 句右边的值会依次赋给左边的变量。 a, b = 10, 2*x <--> a=10; b=2*
转载 2024-05-14 08:52:20
62阅读
Lua支持的常规语句包括:赋值、控制结构和过程调用。另外还支持诸如:多重赋值和局部变量声明等不太常见的语句。             赋值          &nbsp
转载 2024-04-12 06:29:42
111阅读
控制结构 几乎所有的语言都有控制结构,同样,对于Lua的控制结构是非常简单的。Lua提供了用于条件执行的if,循环的while、repeat和for。所有的控制结构都有一个显式的终止符:if、for和while以end作为结尾,repeat以until作为结尾。特别注意,在Lua中是不支持switch结构的。 if 语句: if语句先测试其条件,然后根据测试结果执行then部分或者else部分,e
转载 2024-03-26 21:30:31
175阅读
Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制来模拟了类似“类”的行为 举例说明: tempTable = {} print(tempTable.memberA) --这里试图打印tempTable并不存在的成员memberA 执行结果:nil  输出为nil的
一、迭代器的定义      “迭代器”就是一种可以遍历一种集合中所有元素的机制。在Lua中迭代器以函数的形式表示,即没掉用一次函数,即可返回集合中的“下一个”元素。迭代器的实现可以借助于闭合函数实现,闭合函数能保持每次调用之间的一些状态。      上例while迭代需要保存一个迭代器iterator来保证每次获
4.赋值运算符重载函数1.函数的作用,参数和返回值1.作用  赋值运算符重载函数用于类对象的赋值操作,当我们未实现该函数时,编译器会自动为我们实现该函数。2.参数  赋值运算符重载函数的参数是常引用类型的类类型,声明为常量的好处是可以接受常量参数和非常量参数,声明为引用类型使得参数没有了临时对象的生成,减少了一次拷贝构造的发生3.返回值  大部分人(包括Effective C++)认为赋值运算符重
Ngx指令lua_code_cache on | off; 作用:打开或关闭 Lua 代码缓存,影响以下指令: set_by_lua_file , content_by_lua_file, rewrite_by_lua_file, access_by_lua_file 及强制加载或者reload Lua 模块等.缓存开启时修改LUA代码需要重启nginx,不开启时则不用。开发阶段一般关闭缓存。
转载 2024-03-05 14:48:00
112阅读
0x05 函数定义与调用形式定义:函数是对语句和表达式的抽象。函数的调用形式:无论是语句或者表达式,都需要将所有参数放到一对圆括号中。即使调用没有参数也必须写出一对空括号。 注:此条规则对一种情况例外—一个函数只有一个参数,并且此参数是一个字面字符串或者table构造式(见下列代码)print "Hello World" --只有一个参数且为字面字符串 f{x = 20, y = 30}
转载 2024-03-11 11:44:44
137阅读
lua可以像c一样,几乎支持所有的传统的赋值语句、流程控制语句、函数调用等,同时也支持非传统的多变量赋值语句、局部变量声明等。赋值语句:可以使用传统的赋值语句,或者是lua支持的值格式,如:a ="hello" .. " world" b = 1 print(a) -->hello world print(b) -->1lua支持对多个变量的赋值,在语句中,变量列表和值列表的各个元素用
转载 2024-03-25 09:02:39
31阅读
数据类型数据类型描述nil只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。boolean包含两个值:false和true。number表示双精度类型的实浮点数string字符串由一对双引号或单引号来表示function由 C 或 Lua 编写的函数userdata表示任意存储在变量中的C数据结构thread表示执行的独立线路,用于执行协同程序tableLua 中的表(tab
转载 2024-04-07 10:54:14
93阅读
转载自: 作者:ouyangshima 作者总结的很详细,很全面,可以做参考资料,转载过来,以防以后找不到了! 赋值语句 注释,单行用(--)来表示;多行用(--[[ ... ]])来标示;定义,lua中没有定义(申明数据类型),它是通过赋值来确定其数据类型的。赋值,是改变一个变量的值和改变表域的最基本的方法。 a = "hello" .. "w
转载 2024-05-12 15:33:46
110阅读
table是lua中的一种"数据/代码结构",可以用俩创建不同的"数据类型"lua语言中的数组其实就是table类型 array = {1, 2, 3, 4, 5} print(type(array)) --table table基本使用:1.初始化table  table 表名 = {} myTable = {} 2.给table赋值  数组方式:以角标的方式进行赋值,索引从1开始
转载 2024-03-29 11:13:54
51阅读
lua支持的常规语句基本上与C/Java等语言中所支持语句差不多,包括了赋值、控制结构等,当然也有一些区别,如lua中的多重赋值等。1. 赋值语句赋值是最基本、最简单的语句,将变量与值用=相连,=左边为变量,右边为值: name = "Tom" age = 20 1.1 全局变量与局部变量直接通过上述方式赋值,则变量为全局变量,在任何位置均可被访问。与全局变量相对的是局部变量,只能在被赋值
转载 2024-05-12 15:00:47
72阅读
lua中,  问题1:如果你在可变参数...中传入若干个参数,其中有的参数要带nil,这时怎么解决呢?(比如local function _test(...) end    _test(1, nil, 3))  问题2:更甚于在一个带可变参数的函数里返回值是一个带可变参数的尾调用,这时还能正确得到要的参数?(比如 local function _test2(...) retu
Lua中的table函数库 一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明.  table.concat(table, sep,  start, end)concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素,
转载 2024-05-23 16:27:30
53阅读
一、单个参数的传递   首先我们在Lua中注册一个C类PJYCallbackMgr,其中一个方法为:          1. int testLuaCall(lua_State* L){ 2. ... 3. ...   然后我们在Lu
转载 1月前
402阅读
这次要介绍的内容比较少,就一个——弱引用table1.无法超越人类智慧的智能——自动内存管理的缺陷我们都知道,Lua是具备自动内存管理的,好吧,也许有些朋友不知道。我们只管创建对象,无须删除对象(当然,对于不要的对象你需要设置一下nil值),Lua会自动删除那些被认为是垃圾的对象。问题就出现在,什么对象才是垃圾对象,有些时候,我们很清楚某个对象是垃圾,但是,Lua却无法发现。 比如这样一
  Lua像C一样,几乎支持所有的传统语句:赋值语句、控制结构语句、函数调用等,同时也支持非传统的多变量赋值、局部变量声明。  1、赋值语句:  赋值是改变一个变量的值和改变表域的最基本的方法。 1 a = "hello" .. "world" 2 t.n = t.n + 1   Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。 1
转载 2024-04-15 20:46:10
74阅读
table(表)table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数字、字典等。Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。Lua table 是不固定大小的,你可以根据自己需要进行扩容。Lua也是通过table来解决模块(module)、包(package)和对象(Object)的。 例如string.format表示使
转载 2024-03-20 22:09:25
137阅读
随着对Lua使用的增加,开始关注很多该语言的细节,例如,怎样向Lua函数传递不同种类、不同数量的参数,怎样返回多种参数等等。今天主要介绍Lua函数的基本用法,包括可变参数的使用。1. Lua函数格式Lua函数定义格式如下:optional_function_scope function function_name( argument1, argument2, argument3..., argum
转载 2024-02-08 03:40:42
423阅读
  • 1
  • 2
  • 3
  • 4
  • 5