Lua 笔记--开始

      Lua是一种解释型的语言,也是一种扩展语言。

        第一个程序,打印“hello world”

print("Hello World")

        Lua的保留字:and、break、do、else、elseif、end、false、for、function、if、in、local、nil、not、or、repeat、return、then、true、until、while

        Lua是有大小写之分的。

        两个连字符(--)开始一个”行注释“,该注释一直延伸到一行的结尾。Lua也提供了”块注释“,以”--[[“开始,直至”--]]“。

        在Lua中,全局变量不需要声明。只需将一个值赋予一个全局变量就可以创建了。局部变量用”local“关键字表示。

        

时间: 2024-08-02 18:08:11

Lua 笔记--开始的相关文章

Lua 笔记--语法

        Lua允许"多重赋值",也就是一下子将多个值赋予多个变量.每个值或每个变量之间以逗号分隔: a, b = 10, 2*x         在多重赋值中,Lua先对等号右边的所有元素求值,然后才执行赋值. x, y = y, x        -->交换x 与y         Lua总是会将等号右边值的个数调整到与左边变量的个数相一致.规则是:若值的个数少于变量的个数,那么多余的变量会被赋为nil :若值的个数更多的话,那么多余的值会被"静悄悄地&quo

Lua 笔记--编译、执行、错误与协同程序

        一般dofile 可以这样来定义: function dofile(filename)     local f = assert(loadfile(filename))     return f() end 注意,如果loadfile 失败,那么其中assert 就会引发一个错误.         函数loadstring 与loadfile 类似,不同之处在于它是从一个字符串中读取代码,而非从文件读取.例如,如下代码: f = loadstring("i = i + 1&quo

Lua 笔记--串行化、require和模板

--串行化: function serialize(o) if type(o) == "number" then io.write(o) elseif type(o) == "string" then io.write(string.format("%q", o)) elseif type(o) == "table" then io.write("{\n") for k,v in pairs(o) do i

Lua 笔记--迭代器与泛型for

        所谓"迭代器"就是一种可以遍历一种集合中所有元素的机制.在Lua中,通常将迭代器表示为函数.每调用一次函数,即返回集合中的"下一个"元素. function values(t)     local i = 0     return function()                  i = i + 1            return t[i]            end end         在上例中,values就是一个工厂.每当调用这

Lua 笔记--表达式

        表达式用于表示值.Lua的表达式中可以包含数字常量.字面字符串.变量.一元和二元操作符及函数调用.另外有别于传统的是,表达式中还可以包括函数定义和table构造式.         Lua支持常规的算术操作符有:二元的+.-.*./.^.%,及一元 - (负号).取模操作符计算结果的符号永远与第二个参数相同.         Lua提供的关系操作符有:>.<.>=.<=.==.~=.所有这些操作符的运算结果都是true或false.         逻辑操作符有an

Lua 笔记--类型与值

         Lua是一种动态类型的语言.         在Lua中有8种基础类型:nil(空).boolean(布尔).number(数字).string(字符串).userdata(自定义类型).function(函数).thread(线程)和table(表). print(type("Hello World")        -->string print(type(10.2*3))              -->number print(type(print

Lua 笔记--元表与元方法

        可以通过元表来修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定的操作.当Lua试图将两个table相加时,它会先检查两者之一是否有元表,然后检查该原表中是否有一个叫__add的字段.         Lua在创建新的table时不会创建元表,可以使用setmetatable来设置或修改任何table的元表.         在Lua中,只能设置table的元表,若要设置其他类型的值的元表,则必须通过C代码来完成.其他类型在默认情况下都没有元表. 1.算术类的元方法 S

Lua学习笔记之类型与值_Lua

基础介绍 Lua是一种动态类型的语言.在语言中没有类型定义的语法,每个值都带有其自身的类型信息.在Lua中有8种基本类型,分别是: nil(空)类型 boolean(布尔)类型 number(数字)类型 string(字符串)类型 userdata(自定义类型) function(函数)类型 thread(线程)类型 table(表)类型 以上是Lua中的8中基本类型,我们可以使用type函数,判断一个值得类型,type函数返回一个对应类型的字符串描述.例如: local iValue = 10

Lua学习笔记之数据结构_Lua

最近研究Lua,顺便写点笔记吧!数据结构是没有语言之分的,只不过不同的语言实现起来的语法不同,既然是Lua菜鸟,就来实现几个常用的数据结构来练练语法吧!首先是作为数据结构基石的数组,在Lua中数组是用表来实现的,表是个强大的东西,能表示太多东西了,当表中元素的下标都是整数的时候,我们把这个表称作数组.数组的大小不固定,可以动态的增长. 复制代码 代码如下: --创建一个简单的数组 local arr1 = {1,2,3,4,5,6} --遍历数组中得每一个元素 for i,v in ipairs