Lua学习--基本语法&数据类型

基本语法


注释规则:


单行注释:两个减号是单行注释 --
多行注释:--[[
a=10
b=20

--]]


命名规则:


Lua的命名规则与C语言一致,标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上0个或多个字母,下划线,数字(0到9),不可以数字开头,也不可使用特殊字符如@,$和%等等。


关键词:


and break do else elseif end false for function if in local nil not or repeat return then true until while


全局变量:


在默认情况下,变量总是认为是全局的,除非用local显式声明;访问一个没有声明的全局变量不会出错,但得到的结果是nil;删除一个全局变量只需要将变量赋值为nil即可。


数据类型


Lua是动态类型语言,变量不需要类型定义,只需为变量赋值。Lua中有8种数据类型。
nil:无效值,条件表达式中相当于false
boolean:true和false
number:表示双精度浮点型,相当于double
string:字符串,用单引号或双引号括起来
function:有Lua或C编写的函数
userdata:表示任意存储在变量中的C数据结构
thread:表示执行的独立线路,用于执行协同程序

table:可用做数组,其中数据索引可以是数字也可以是字符串,以数字作为索引时,下标从1开始


代码示例:


--type函数可以获得Lua的数据类型 ..代表字符串连接符
print("数据类型:"..type("Hello"))
print("数据类型:"..type('World'))
print("数据类型:"..type(2.5))
print("数据类型:"..type(print))
print("数据类型:"..type(true))
print("数据类型:"..type(nil))
print("数据类型:"..type({hello,world}))

--双综括号可表示字符块
html=[[



    百度首页


]]
print(html)

--#号可计算字符串长度
print(#"HelloWorld")

--字符串在进行算术操作时,会自动将字符串转化成数字
print("2"+'6')
print("2"*6)

--..连接符
print("Hello"..'World')
print(123 .. 456)

--table表

--创建一个空表
tab1={}
--创建并初始化表
tab2={1,2,3,4,5}
--给表赋值<索引可以为数字和字符串,默认以数字为索引值且第一个索引为1>
tab1[1]=10
tab1["key"]="value"
--遍历tab1和tab2
print("tab1")
for k,v in pairs(tab1)
do
	print(k..":"..v)
end
print("tab2")
for k,v in pairs(tab2)
do
	print(k..":"..v)
end

--function函数
function fun(n)
	if n==0
	then
		return 1
	else
		return n*fun(n-1)
	end
end
print(fun(5))
fun1=fun
print(fun(6))

--匿名函数
function test(tab,fun)
	for k,v in pairs(tab)
	do
		print(fun(k,v))
	end
end
test(tab2,function(key,value)
	print(key.." = "..value)
end)



你可能感兴趣的:(Lua脚本)