![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua学习笔记
Groyo
这个作者很懒,什么都没留下…
展开
-
Lua学习笔记 元表 操作符重载 index newindex
• 元表的概念(类似父类和子类) ○ 任何表变量都可以作为另一张表变量的元表 ○ 任何表变量都可以有自己的元表 ○ 子表执行某些特定操作时会执行元表中的内容 meta = { --子表调用时会默认把子表当参数传入 __tostring = function(t) return t.name; end, -- 当子表被当作函数使用时会调用这个函数,且默认将子表作为第一个参数传入 __call = function (self,param1)原创 2021-02-09 12:22:30 · 356 阅读 · 0 评论 -
Lua学习笔记 协程
-- 协程的创建-------------------- function func( ) print(123); end -- 1. coroutine.create( function ) co1 = coroutine.create( func ); print(type(co1));--thread -- 2. coroutine.wrap( function ) co2 = coroutine.wrap( func ); print(type(co2));--function原创 2021-02-08 12:44:18 · 123 阅读 · 0 评论 -
Lua学习笔记 lua中的三目运算符
-- 同时给多个变量赋值.多丢少空。 a,b,c = 1,2,"str"; -- lua中,只有nil和false表示逻辑假。其他都表示真,包括0. -- 非Boolean型的值 进行运算时,返回值符合短路原则。如: print(1 and 2);--2 1为真,还需要判断2是否为假,故返回2。 print(1 or 2)--1 1已经为真,不需要判断2.故返回1. -- 模拟三目运算符 (条件)and 为真的值 or 为假的值 x,y = 6,5; local res = (x>y) and原创 2021-02-08 12:42:59 · 306 阅读 · 0 评论 -
Lua学习笔记 多脚本执行 全局局部变量 _G表
-- 全局变量(直接变量名声明的,包括循环体和函数体中的都是) a = "string"; -- 局部(本地)变量,关键字 local。只在声明的代码块或者脚本文件中有效 -- 多脚本执行,关键字 require(”脚本名“)。可以使用其他调用过的脚本的全局变量。------------------- -- 脚本文件可以在最后使用return 返回一个或多个值。其他代码使用require调用时可以接收这些值。 test2 = require("Lesson_1"); print(test2); -- 调原创 2021-02-08 12:41:49 · 420 阅读 · 0 评论 -
Lua学习笔记 复杂数据类型 table
-- 数组 a = {1,2,"string",true,nil}; -- 索引从1开始,a[0] 为 nil -- #a可以获取a的长度。nil不计算在内。 print(#a);--4 -- 遇到nil则代表结束。如: b = {1,2,nil,"string",true,nil} print(#b);--2 -- 二维数组同c# -- 自定义索引(有坑)----------------------- print("-------------------"); aa = {[0] = 1,2,3,[6]原创 2021-02-08 12:39:24 · 229 阅读 · 0 评论 -
Lua学习笔记 函数 function
-- 声明(参数不需要指定类型)--------------------------- function func1( ... ) -- body end -- 调用 func1(); -- 参数-------------------------------------------- func2 = function ( a ) print(a); end func2();--nil 不传参数默认为空 func2(1,2,3);--1 多的参数会丢弃 -- 返回值 -----------原创 2021-02-08 12:38:19 · 155 阅读 · 0 评论 -
Lua学习笔记 基本语句 if else for while
//if else a = 5 if a > 3 then print("greater than 3"); elseif a >0 then print("greater than 0") else print("not greater than 0"); end -- lua中 没有switch //while num = 0; while num < 5 do print(num); num = num + 1; end; -- re原创 2021-02-08 12:37:31 · 151 阅读 · 0 评论 -
Lua学习笔记 运算符
-- 没有自增 自减 ++ -- -- 没有复合运算符 += -= *= /= %= -- 字符串与number类型 相加 + 时,如果字符串是数字,则会是进行数字相加,而不是字符串拼接。字符串拼接用的是 .. 运算符 print("123.5" + 1)--124.5 -- 多了幂运算 print("2的3次方:".. 2 ^ 3); -- 条件运算符。不等于是 ~=,其他相同 -- 逻辑运算符。支持短路 -- && 是 and -- || 是 or -- ! 是 not ...原创 2021-02-08 12:36:13 · 127 阅读 · 0 评论 -
Lua学习笔记 字符串操作 string
str = "abcd"; str1 = "我"; --#str 可以获取字符串长度 print(#str);--4 -- 一个汉字占3个长度(在utf-8中是3个,gbk中是两个。和编码有关) print(#str1);--3 -- 多行字符串(也可以用转义字符) str = [[ 多 行 字符串 ]] print(str); --[[ 多 行 字符串 ]] -- 字符串拼接 str = "123".."456"; print(str);--12345原创 2021-02-08 12:34:54 · 1024 阅读 · 1 评论 -
Lua学习笔记 初识Lua
lua语句结尾可以不加 ; -- 单行注释 -- print("hello world"); --[[ 多 行 注 释 ]]原创 2021-02-08 12:33:29 · 120 阅读 · 0 评论