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

北京做网站的价格百度搜索推广多少钱

北京做网站的价格,百度搜索推广多少钱,模板网站可以优化吗,鸡蛋价格网文章目录 Table的一万种用法二维数组类和结构体Table操作insert & removesortconcat 接上文【Lua学习笔记】Lua进阶——Table,迭代器 Table的一万种用法 二维数组 a {{ 1, 2, 3 },{ 4, 5, 6 }, } print(#a) -->2 for i1,#a dob a[i]for j1,#b doprint(b[…

在这里插入图片描述

文章目录

  • Table的一万种用法
    • 二维数组
    • 类和结构体
    • Table操作
      • insert & remove
      • sort
      • concat

接上文【Lua学习笔记】Lua进阶——Table,迭代器


Table的一万种用法

二维数组

a = {{ 1, 2, 3 },{ 4, 5, 6 },
}
print(#a) -->2
for i=1,#a dob = a[i]for j=1,#b doprint(b[j])end
end
应该不用解释吧?

类和结构体

Lua是面向过程的,所以想要实现面向对象只能在形式上模拟。
那么面向对象要实现什么?继承封装多态,这些暂且不谈,首先一个类模块应当需要成员变量和成员方法。

car = {color = "red",size = "big",StartEngine = function()print("汽车,启动!")end,
}
car.StartEngine();
--在table外声明方法
car.StopEngine = function()print("停车")
end
car.StopEngine();
--另一种声明方式
function car.Speaker()print("嘟嘟嘟")
end
car.Speaker()
输出:
汽车,启动!
停车
嘟嘟嘟

上述代码确实看起来很像类,但是应当记住它是个table,别真的把它当作面向对象了,例如下面:

car = {color = "red",size = "big",StartEngine = function()print(color)end,
}
car.StartEngine();
输出
nilcar = {color = "red",size = "big",StartEngine = function()print(car.color)end,
}
car.StartEngine();
输出
red

很简单,如果直接print(color),那么color则是我们新定义的一个全局变量,它没有赋值自然是nil。
而想要打出red,就需要print(car.color),因为我们要打印的不是color,而是car这个table中的一个元素!

car = {color = "red",size = "big",StartEngine = function()print(self.color)end,PrintColor = function (t)print(t.color)end
}
car.PrintColor(car);
car:PrintColor();
输出:
red
red

lua提供了一个语法糖,当我们用冒号调用方法时,会把调用者作为第一个参数传入方法中

function car:PrintSize()  --相当于function car.PrintSize(car)print(self.size)
end
car.PrintSize(car);
car:PrintSize()
car:PrintSize(car)
输出:
big
big
big

冒号主要就是为了在函数调用时使用self关键字,self不同与this,它代表的应当是这个冒号传入的参数。除了提供便利性之外,冒号还会为我们节省一条指令。有种脱裤子放屁的美。


Table操作

insert & remove

t1 = {{ age = 1, name = "a" },{ age = 2, name = "b" },
}
t2 = { age = 3, name = "c" } --注意t2是一维的for i = 1, #t1 dob = t1[i]print(b)
end
print("插入后")
table.insert(t1,t2)
for i = 1, #t1 dob = t1[i]print(b)
end
print(t1[1].name)
print(t1[2].name)
print(t1[3].name)table: 00A2A580
table: 00A2A4B8
插入后
table: 00A2A580
table: 00A2A4B8
table: 00A2A5D0
a
b
c

执行insert后,我们观察地址不难发现,新数据被插入到尾部了,同样的,执行table.remove方法也会移除最后一个索引的元素。

table.insert(t1,2,t2)
for i = 1, #t1 dob = t1[i]print(b)
end
print(t1[1].name)
print(t1[2].name)
print(t1[3].name)a
c
btable.remove(t1,2,t2)
for i = 1, #t1 dob = t1[i]print(b)
end
print(t1[1].name)
print(t1[2].name)
print(t1[3].name) --报错
a
b

lua也提供了带position值的insert和remove,insert会直接插入到pos位置并将其后的元素都后移一个单位,而remove则会删除对应位置,并将其后元素都前移一个单位

sort

table.sort排序用法

t = { 2, 5, 5, 3, 6 }
table.sort(t)
for index, value in ipairs(t) doprint(value)
end
print("--------")
table.sort(t, function(a, b)if a>b thenreturn trueend
end)
for index, value in ipairs(t) doprint(value)
end输出:
2
3
5
5
6
--------
6
5
5
3
2

知道升序和降序用法即可,默认升序,使用a>b reutrn true可以修改为降序猜想排序function与冒泡排序有关

concat

t = { 5, 5, 2, 3, 6 }
str = table.concat(t,",")
print(str)5,5,2,3,6str = table.concat(t,",",2,5)
print(str)5,2,3,6

使用table.concat方法,其返回值是字符串,所以我们拼接时只能用number和string类型的,此外别忘了需要把返回值赋值来接收最后处理的结果

http://www.hkea.cn/news/369880/

相关文章:

  • 银川做网站服务google play下载安卓
  • 科技型中小企业服务网安徽搜索引擎优化seo
  • 网站建设专家排名邯郸seo营销
  • 做网站一个月20g流量够吗安全又舒适的避孕方法有哪些
  • 扫二维码直接进网站怎么做怎么提交网址让百度收录
  • 柳州建设局网站广告买卖网
  • 做外贸一般上哪些网站google play谷歌商店
  • 泉州手机网站制作如何做企业产品推广
  • 徐州手机网站设计汕头网站建设优化
  • 有没有专业收费做网站优化的百度百科优化排名
  • 常州网站建设哪家便宜江西seo推广软件
  • 如何用pageadmin做网站品牌宣传策略有哪些
  • 网站免费优化软件需要优化的地方
  • 24小时学会网站建设下载厦门百度竞价开户
  • 怎样学做网站网站权重等级
  • 做网站好还是做淘宝好北京seo推广
  • 郑州门户网站建设哪家好网站首页不收录
  • 网站制作营销型哪些网站可以发广告
  • 最新政府网站建设理念广州头条新闻最新
  • 济宁网站建设神华线上推广的三种方式
  • 我要表白网站在线制作如何做网站的教程
  • 福州论坛建站模板策划网络营销活动
  • 网站建设 天津百度市场应用官方app
  • 动态网站制作流程友情链接的定义
  • 企业网站开发方案免费建立一个网站
  • 网站引导页面制作的四个任务名称推广引流的10个渠道
  • 南宁网站建设制作后台网站关键词优化价格
  • 微信小程序商城制作公司宁波seo推广服务
  • 响应式购物网站公司seo是什么意思
  • 360未经证实的网站如何做电商运营方案