Lua学习笔记01:书写格式及部分类型的简单介绍

一、Lua语言书写格式
Lua语言可以不用添加“;”来作为一句语句的结束
变量名不能以数字开头,不能以Lua关键字为名字
Lua语言识别大小写,因此与Lua关键字字母相同但字母大小写的话可以作为变量名
未赋值的变量在显示时会显示”nil“ 
如果不再使用某个全局变量,则将该全局变量赋值为”nil“即可(a=nil)
二、解释器程序(解释器程序让控制台直接使用Lua语言)
格式:lua  选项参数  脚本(参数)
解释器部分选项参数:
1、-e 执行语言,后面加空格然后加上”“,在”“中加入要执行的Lua语言
2、-l 加载库文件,后面加空格然后加上要加载的库文件名
3、-i 运行完其他命令行后在进行交互模式,出现输入字符的情况
4、-PROMPT 修改交互模式的命令提示符, -PROMPT =‘ ’,‘  ’中输入提示符的样式,
控制台默认提示符为”>“
三、控制台中运行Lua,输出数据既可以用print,也可以用=,等号后面跟要输出的内容
四、Lua为动态语言,因此没有类型定义的语法,每个变量值都有携带自身的类型信息
Lua有八种基础类型:1、nil(空)2、boolean(布尔)3、number(数字)4、string(字符串)
                                 5、table(表)6、function(函数)7、userdata(自定义类型)
                                 8、thread(线程)
用type()函数可以返回变量的类型名称,在括号中输入变量
若要用type()函数在显示器上显示变量,需在print函数中使用
在Lua语言中允许将某个方法赋值给一个变量,例:a=print (print为一个函数)
由于变量没有预定义的类型,因此任何变量都可以包含任何类型的值 (未初始化的变量其变量类型为nil)
变量介绍:1、nil:一个全局变量的默认变量,将一个全局变量赋值为nil等同于删除该变量,其主要公式为区别其他的变量值
                 2、boolean:true表示真,false表示假。但不是唯一表示真假的方式。Lua将值false和nil表示为假,其余值皆表示为真
                 3、number:用于表示实数及双精度浮点数,Lua没有整数类型,可以通过对Lua的重新编译来使用其他类型来表示数字,书写时可以用普通写法(320:a=320),也可以用科学计数法(320:a=3.2e2)
                 4、string:Lua的字符串可以表示为一个字符序列,其字符串不可变(创建了一个字符串并赋值后无法再次修改该字符串中的某个字符),如需修改字符串中的某个字符,则应根据要求来创建一个修改后的新字符串
修改方法:新的字符串变量=string.gsub(要修改的字符串变量,”需要修改的内容“,”修改后的内容“)
Lua字符串与function和table一样同为自动内存管理的对象,因此不用担心字符串的分配和释放;这意味着Lua的一个字符串可以存储很多内容
字符串可以用‘ ’或者”“来声明字符串,若字符串内容中需要用到一个’或”,则可以用C语言中的转义序列来实现如:\"   、\'  、\n等
也可以用某个数值来在字符串中指定字符例:\065表示大写的A(\加三位十进制的数)
可以用[[ 内容 ]]符号来存储字符串,这种方法存储的字符串会忽略转义序列,同时打印时按照其在[ [  ] ]中的格式显示出来
对一个内容为数字的字符串和一个数字进行算数运算时,Lua会自动将字符串转换为一个数字,然后进行运算
"..”双引号内的符号为Lua的字符串连接操作符,例:“A".."+".."B"
"#" 双引号内的符号用于对某个字符串内的字符数量的统计(也可用于对某个table变量中的元素个数进行统计),在字符串前加上该符号即可。例:#”ABC“
函数tonumber()可以将一个内容为数字的字符串转化为数字变量
                  5、table:table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。
Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。
Lua table 是不固定大小的,你可以根据自己需要进行扩容。
Lua也是通过table来解决模块(module)、包(package)和对象(Object)的。
table不是一个值,而是一个对象
创建方式:变量名={}
使用:a={}   k="x" a[k]=10-->a["x"]=10    k=5  a[k]="great"-->a[5]="great"
table为匿名的,一个持有table的变量与table变量自身没有任何关系,
例a={}  a["x"]=10  b=a 若将a=nil,则b不会变成nil 但在a=nil后再设置b=nil,此时无任何变量调用a和b引用的table,Lua的垃圾回收系统会自动清除该table
当需要添加新变量时,table的空间会自动增加。table的索引值是从1开始而不是从0开始
table中的某个变量没有初始化(赋值)时,其值为nil,当table的某个元素被赋值为nil时,即表示删除该元素
table变量索引的引用元素的方式:1、a["asd"]  2、a.asd
a["x"]!=a[x],前者以字符串x为索引的table值,后者以变量x的值为索引的table
用#在一个table前,则表示显示该table最大的索引值
                  6、function:在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。
Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print()函数可以将传入的参数打印在控制台上。
Lua 函数主要有两种用途:
1.完成指定的任务,这种情况下函数作为调用语句使用;
2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。
Lua既可以调用以Lua创建的函数,也可以调用C语言创建的函数
                   
                

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值