当前位置: 首页 > wzjs >正文

北京装修公司排名推荐北京seo多少钱

北京装修公司排名推荐,北京seo多少钱,广州十大网站开发公司,云南省建设厅网站发文Lua函数相关示例代码 --脚本型语言,不能先调用,再定义,因为代码是从上往下执行的 --第一种声明函数 function func1()print("这是func1") end--先定义,再调用,没有问题 func1() -------------------------…

Lua函数相关示例代码 

--脚本型语言,不能先调用,再定义,因为代码是从上往下执行的
--第一种声明函数
function func1()print("这是func1")
end--先定义,再调用,没有问题
func1()
------------------------------------------------------
--将函数定义为一个变量,函数是一种数据类型
local func2=function()print("这是func2")
end
func2()--------------------------------------------------
local func3=function(a,b)print(a+b)
end--函数的调用,参数可以多于形参,但是不能少于形参
func3(5,7)
func3(5,7,9)
----------------------------------------------------
local func4=function(...)--将无固定参数,转换为table--arg的作用域是func4函数体local arg={...}local total=0for k,v in pairs(arg)do total=total+v;endprint(total)
end
func4(1,2,3)
func4(1,2,3,4)
--------------------------------------------
function func5()return 99,100
end
--将多返回值,同时赋值给两个变量
local num1,num2=func5()
print(num1,num2)--丢掉数值接受
local _,n2=func5()
print(n2)

Lua的表(table)相关示例代码:

--Table支持数字索引存储数据
--Table支持字符串索引(关联索引)存储数据
local data={one="cc","aa","bb",[4]=3,[-1]=4,["two"]="dd"}
print(data[2])
print(data["one"])
print(data.two)data.func1=function()print("data表中的func1函数")
end
--所以data.func1调用数据,是个函数,也就调用了函数
data.func1()
-----------------------------------------------------
data.func2=function()print(data.two)
end
data.func2()
-------------------------------------------------------第一种self调用写法
--成员函数定义时,显示加入self变量,对应C#的this关键字
--函数内部可以通过self变量获取当前table的其他值或函数
data.func3=function(self)print(self.two)
end
--调用时,必须使用":",因为":"调用,会对self关键字赋值
data:func3()
-----------------------------------------------------
--第二种self调用写法
--隐式给self赋值
function data:func4()print("func4:"..self.two)
end
data:func4()

Lua的require语法相关示例代码:

--实现代码的切分--将提供的Lua文件中的代码执行一下
--文件名中包含特殊字符,比如".",会导致加载错误
--文件扩展名".lua"不需要编写,因为会自动添加
require("HelloWorld")--表会记录已经加载的文件记录
print(package.loaded["requireTest"])
package.loaded["requireTest"]=nil
--当每次加载文件时,都会检查package.loaded里面的内容,防止重复加载
--package.loaded存储的是加载的路径字符串
--所以如果想重复多次加载一个文件,则需要再次加载前清除这个状态
require("requireTest")--加载文件的相对路径
--"./"表示当前编写的Lua文件,所在的目录
--"../"表示当前编写的lua文件,所在的上级目录--获取另一个文件的局部变量
--子文件的return会返回给主文件的变量
local config=require("config")
print(config.appName)--全局变量可以跨文件直接获取,但十分不推荐(安全性低,极容易被覆盖)

此为config文件中的内容 

Lua元表相关示例及代码:

local t1={1,2,3}--直接打印表,显示的是内存地址
--希望打印table时,以人类易于阅读的结构显示例:{1,2,3},方
--便调试--打印时,就是将表作为字符串输出
--实现的功能,当需要将表作为字符串使用时,应该有一种办法
--这种办法,Lua提供了这种语法特性,metatable扩展,元表扩展
print(t1)local meta={--用于扩展t1的元表,只要在元表中实现一些特殊的函数,--则t1就可以实现一些特殊功能,比如让t1作为字符串可以使用__tostring=function(t)   --元方法,当被扩展的表被以string方式调用时,调用local format="{"for k,v in pairs(t)do format=format..v..","endformat=format.."}"return formatend
}
setmetatable(t1,    --需要进行元表扩展的数据表meta
)
setmetatable(t2,    --需要进行元表扩展的数据表meta
)
--t1会被传递给t
print(t1)
print(t2)

 Lua小实践

获得不规则Table的准确长度

local TOOL={}
function TOOL:table_count(t)local count=0for k,v in pairs(t)docount=count+1endreturn count
endlocal data={one="cc","aa","bb,",[4]=3,[-1]=4,["two"]="dd"}
print(TOOL:table_count(data))

使用函数将无固定值的参数进行排序(冒泡排序法),并返回参数个数 

function maopao(...)local nums={...}--print(nums[1])for i = 1,#numsdofor j = 1,#nums-idoif(nums[j]>nums[j+1])thenlocal tmp=nums[j]nums[j]=nums[j+1]nums[j+1]=tmpendendendreturn #nums,nums
endlocal l,t = maopao(7,1,23,8,99,26)
print(l)
print("------------------------------------")
print(t[1])
print(t[2])
print(t[3])
print(t[4])

使用元表的_add元方法,实现两个Table的所有元素的合并 

local t1 = {1,2,3}
local t2 = {4,5,6}local meta={__add=function(t1,t2)local new_t={}for k,v in pairs(t1)do --将数据插入到一个表中,List.Add()table.insert(new_t,v)endfor k,v in pairs(t2)do table.insert(new_t,v)endreturn new_tend,__tostring=function(tt)local format="{"for k,v in pairs(tt)do format = format..v..','endformat=format.."}"return formatend
}
setmetatable(t1,meta)local t3 = t1 + t2
setmetatable(t3,meta)
print(t3)

该系列专栏为网课课程笔记,仅用于学习参考。


文章转载自:

http://hjStTwY1.cptzd.cn
http://oEdjr1hI.cptzd.cn
http://XCfIsqzh.cptzd.cn
http://g7nsvBvq.cptzd.cn
http://wCpTlmT8.cptzd.cn
http://ZKBZ1WPW.cptzd.cn
http://vJpNghg3.cptzd.cn
http://RloSzFmZ.cptzd.cn
http://2lrDZp61.cptzd.cn
http://VJQAIutp.cptzd.cn
http://RA6PlZhm.cptzd.cn
http://zCbVfWUH.cptzd.cn
http://s353dPY6.cptzd.cn
http://tCXcTCW5.cptzd.cn
http://Zu9aen3j.cptzd.cn
http://pZaMW4kp.cptzd.cn
http://Rb6VC5nF.cptzd.cn
http://yg3c6Khe.cptzd.cn
http://adjiCpyu.cptzd.cn
http://Eh0U4lSG.cptzd.cn
http://E6Y06XoJ.cptzd.cn
http://73a2YX5y.cptzd.cn
http://oKeKYfDr.cptzd.cn
http://EzvHsxeq.cptzd.cn
http://ZB66cM8b.cptzd.cn
http://csfnTm51.cptzd.cn
http://B8V4uDd1.cptzd.cn
http://rLBAjDTx.cptzd.cn
http://uLqxy8tY.cptzd.cn
http://3THoh8P7.cptzd.cn
http://www.dtcms.com/wzjs/716191.html

相关文章:

  • 从网络安全角度考量_写出建设一个大型电影网站规划方案阿里云域名查询系统
  • 网站服务器返回状态码404西安公司排行榜
  • 网站怎么做站群福州网站推广排名
  • 做相册的网站有哪些做写字楼的网站有哪些
  • 网站更新内容做公众号首图的网站
  • 网站建设黄荣网站建设标准简约
  • 合肥网站建设制作价格小程序怎么开发
  • 四川省住房城乡建设厅网站首页企业网站的cms
  • 网站上传文件 ftp江阴招聘网站建设学徒
  • 分分彩做号网站佛山建企业网站
  • 做时间轴的在线网站如何做局域网网站建设
  • 借贷网站建设方案福建省建设局网站实名制
  • 网站开发电脑内存要多少有了源码然后如何做网站
  • 做门户网站需要准备什么店铺推广策略
  • 免费申请com网站营销推广的平台
  • 网站 开发 价格甘肃省建设厅门户网站
  • 品牌网站设计提案手机端关键词排名优化软件
  • 网站工作室网站中南建设集团招标网站
  • 网站如何做线下的市场推广如何快速提升网站权重
  • 百度怎么建立网站微信商城在哪里进入
  • 如何建设一个小型网站太原网站建设平台
  • 饿了么网站做要多少钱网站的美观性
  • seo排名整站优化品牌画册设计公司网址
  • 建设企业网站官网企业东莞东城做网站公司
  • 网站开发前准备怀柔做网站
  • 网站备案身份核验企业网站建设推荐乐云seo
  • 河北衡水市网站制作的公司中小企业网站设计总结
  • 北京工程信息网站网站建设及 维护合同
  • 工信部如何查网站备案域名注册需要多少钱?
  • 怎么做网站的轮播图北京有做网站的吗