Lua基础
来源:互联网 发布:论坛抢沙发软件 编辑:程序博客网 时间:2024/06/01 22:41
1.制作模块 (模拟c#中的静态类)
2用table制作元素表
calc={} --初始化模块--定义变量calc.name="KiwiClac";--定义函数function calc.jia(a,b) return a+b;endfunction calc.jian(a,b) return a-b;end--结束模块return calc;
require("calc") --引用模块可以用 require calc 引用--访问模块变量print(calc.name);--访问模块函数print(calc.jia(1,2));
2用table制作元素表
--设置元素表tableA={} --表A[主表]tableB={} --表B[元表/子表]--设置tableB为tableA的元表setmetatable(tableA,tableB);--判断tableA是否有元素print(getmetatable(tableA));
table表访问元表:tableA={name="Kiwi",age=12};tableB={gender="x",address="烟台"};setmetatable(tableA,tableB);tableB.__index=tableB --设置元表的__index索引print(tableA.name,tableA.age);--print(tableA[name],tableA[age]);print(tableA.gender,tableA.address);3.模拟c#中的类
--模拟c#中的类Person={name,age,gender,address="China"} --在Person类中模拟字段--模拟构造方法function Person:New() local obj={} --初始化一个新的表setmetatable(obj,Person); --把当前的类[表]设置为新表的元表Person.__index=Person; --指定元表的__index索引return obj;end--模拟一个方法function Person:Show()print(self.name,self.age,self.gender,self.address);end--实例化对象p1=Person:New()p1.name="ade";p1.age="1";p1.gender="df";p1.address="dfada";p1:Show();4.模拟类的继承
--模拟类的继承--父类Animal={name};--构造方法function Animal:New(name) local obj={};setmetatable(obj,self);self.__index=self;self.name=name;return obj;end--普通方法function Animal:Tostring() print(self.name);end--子类/继承模拟Cat=Animal:New();--子类的构造方法function Cat:New(name) local obj=Animal:New(name);setmetatable(obj,self);self.__index=self;return obj;end--子类普通方法function Cat:Eat(food) print(Cat.name.."Eat"..food);end--实例化jfm=Cat:New("加菲猫");jfm:Eat("yu");
5.引用Lua模拟类dofile([路径名]脚本名.lua)
例:
1.以当前脚本为定位点寻找所要引用的脚本
dofile(“1.Lua”)--脚本在同一个文件夹
dofile("文件夹名\\1.lua") --所要引用的脚本在与当前脚本同级的文件夹中
dofile(“..\\1.lua”)--"..\\"是返回上一级,当前脚本的文件夹与所引用脚本在同 一级中
2.使用绝对路径
dofile(“c:\\dfa\\dfa\\1.lua”)
注意:保存的脚本要以.lua结尾
阅读全文
0 0
- Lua基础 初识Lua
- LUA基础
- Lua 基础
- Lua 基础
- lua基础
- lua基础
- lua基础
- lua基础
- lua基础
- Lua基础
- lua基础
- Lua基础
- Lua基础
- Lua基础
- lua基础
- Lua基础
- lua基础
- Lua基础
- 子组件通过$emit来向父组件传递数据(array)
- SparkStreaming操作Kafka
- libmemcached选择server的几种方法
- 2017/12/14
- Spring @component 注解的作用
- Lua基础
- 80%时间在灭火,普通工程师如何摆脱重复劳动?
- java SSM框架中使用aspose-words导出数据
- 安装并测试memcached
- 省选模拟赛[HEOI2012] Day2
- equals()和==的区别?
- Spring @Scheduled 定时任务
- dataTable 点击行弹窗
- JS中const、var、let的区别