Lua 学习备忘录1
来源:互联网 发布:linux建立用户组 编辑:程序博客网 时间:2024/04/28 02:14
--简单语法入门--常量用全大写和下划线声明 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,但是添加第三个参数可以修改循环的stepfor i=1,10 doprint(i)endfor j=10,0,-2 doprint(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 doprint(arg[i])endendMyPrint(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)endprint(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 dob = math.random(1,6)print(b)end--math.max() math.min() 最大值 最小值--Lua的字符窜处理能力很强大,这个之前单独总结了。
0 0
- Lua 学习备忘录1
- Lua学习备忘录
- Lua 学习备忘录2
- Lua 学习备忘录3
- python学习备忘录--1
- 备忘录模式lua实现
- lua备忘录(一)
- lua备忘录(二)
- Qt学习备忘录(1)
- scrapy爬虫学习备忘录(1)
- Lua学习笔记(1)
- Lua学习笔记1
- lua学习笔记(1)
- LUA学习(1)
- Lua 程序设计学习(1)
- lua学习1
- lua学习随笔 (1)
- lua语法学习1
- 魅族 MEIZU MX4 连接电脑,Eclipse DDMS不能发现设备,识别不了手机的问题
- DoTween(HOTween V2) 教程
- 字符串排序
- 关于 frame的一些基本知识
- python 进行Web接口测试实战
- Lua 学习备忘录1
- iOS开发多线程篇—GCD的基本使用
- 使用Eclipse构建Maven项目
- python解决没有三目运算符(?:)的问题
- Windows 7 android真机调试设置
- ecshop商品自定义url和标题
- AOP面向方面编程
- 流媒体与视频监控开发相关博客文章系列收集
- CSDN学院 免费技术答疑公开课,本周三场即将开播~~~