Lua 学习备忘录1

--简单语法入门

--常量用全大写和下划线声明  MY_CONSTANT

--变量第一个字母小写,myValue

--全局变量第一个字符g,gMyGlobal

--函数名称第一个字母大写  function MyFunction( ... ) -- body end

--Lua中有5种变量类型 (nil,number,boolean,string,table)

--nil  如果给一个变量赋值nil,这个变量会被回收

--Boolean (true,false)

--Lua 变量默认是全局的,尽量在代码中使用局部变量  local value = 3

--if  for  while  repeat   (repeat可以理解为 do while,代码至少会被执行一次)
--[[
--for循环的两种使用方式,默认是递增1,但是添加第三个参数可以修改循环的step
for i=1,10 do
	print(i)
end

for j=10,0,-2 do
	print(j)
end

--]]

--break 可用,但是Lua是没有continue关键字的。


--深入学习Lua

--函数, Lua通过标示符来访问函数的代码块。载入脚本的时候,函数并没有执行,仅仅是被载入内存并和函数名关联起来。
--Lua函数可以定义不定长的函数列表,定义的时候括号里填入(...),Lua会创建一个局部的名字为arg的table,通过arg[i]来获取。arg.n形参个数
--[[
function MyPrint( ... )  
    print("sum:"..arg.n) 
	for i=1,arg.n do
		print(arg[i])
	end

end

MyPrint(1234578,"liuxinxia","24")


]]


--Lua可返回多个返回值,无需像c++一样  如果要返回多个值,需要自己定义一个结构体再返回

--可以拥return 调用另一个函数,运行结束后从栈里面删除


--1.loadstring() 和 assert() 函数,可以理解为system()
--[[
myString = "math.max(1,2,5)"
a = loadstring(myString)  --返回函数指针
print(a)

b = loadstring(myString)()
print(b) --nil  直接执行得不到函数的返回值
--可以看出  loadingstring()这个函数的作用是将string分配一个函数名,返回一个函数模块地址,地址加上()就可以执行块。


--上面的代码转换一下,就可以理解了:
function a()       
      math.max(1,2,3)
end
print(a)  --因为没有返回值,所以必然是nil

--所以这里改成:
myString = "return math.max(1,2,5)"
b = loadstring(myString)()
print(b) --5

--也可以用asset()执行代码块
myString = "return math.max(1,2,5)"
c = loadstring(myString)

print("loadstring():"..c())

print("assert():"..assert(c)() )
]]


--2.dofile()  执行Lua脚本  dofile("runtime.lua")

--3.math下面的一些函数

a = math.floor(3.2222)
print(a) -- 3 取整

math.randomseed(os.time()) --给随机数种子设定一个唯一的值,用时间是最好的,因为时间的随机性更好
for i=1,10 do
	b = math.random(1,6)
	print(b)
end

--math.max()  math.min()  最大值  最小值

--Lua的字符窜处理能力很强大,这个之前单独总结了。














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值