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

老渔哥网站建设公司找工程分包网站

老渔哥网站建设公司,找工程分包网站,网站建设生产或运营,代理公司代理注册流程Lua 基础相关知识 第一期 注释 -- 单行注释--[[多行注释 --]]-- 多加一个横杠符号就能重新启用注释内的代码 ---[[print(Lua) --]]数据类型 Lua 是动态类型语言#xff0c;变量不需要类型定义#xff0c;只需要为变量赋值。 Lua 有 8 种基本类型#xff1a…Lua 基础相关知识 第一期 注释 -- 单行注释--[[多行注释 --]]-- 多加一个横杠符号就能重新启用注释内的代码 ---[[print(Lua) --]]数据类型 Lua 是动态类型语言变量不需要类型定义只需要为变量赋值。 Lua 有 8 种基本类型 nil表示一个无效值条件表达式中表示 falsebooleanfalse 或 true0 也是 truenumber表示双精度类型的实浮点数string字符串由一对单引号或双引号包括也可以用两个方括号table表是一个关联数组数组的索引可以是数字、字符串或表类型function函数userdata表示任意存储在变量中的 C 语言数据结构thread表示执行的独立线程用于执行协同程序 可以使用 type() 函数查看数据类型。 print(type(nil)) -- nil print(type(true)) -- boolean print(type(1)) -- number print(type(Lua)) -- string print(type({})) -- table print(type(print)) -- function布尔 false 或 true但需要注意Lua 把除了 false 和 nil 以外的值都视为 true例如 0 和 都是 true。 逻辑运算符 andornot 的使用 and如果第一个操作数为 false就返回第一个操作数否则返回第二个操作数。or如果第一个操作数为 true就返回第一个操作数否则返回第二个操作数。not取反。 and 和 or 都是短路求值只有在必要时才会计算第二个操作数。 常见的写法 a a or 0 -- 如果 a 不存在则使用默认值 0a x y and x or y -- 类似三目运算符但不完全是 -- 操作过程 ---- 若 x y 为 true则 ( x y and x ) 返回 x -- 接着 x or y若 x 存在则为 true返回 x ( 如果此时 x 不存在或 false则返回 y这里是跟三目运算符的区别)-- 若 x y 为 false则 ( x y and x ) 返回 x y 的结果 false -- 接着 false or y返回 ynot nil -- true not false -- true not true -- false not 0 -- false字符串 在对一个数字字符串进行算术运算时Lua 会尝试将字符串转成数字。 其他语言例如 C#是把数字转成字符串进行连接这里要注意 Lua 的处理方式。 print(1 2) -- 3而连接字符串则使用 … 符号。 print(How .. are .. you) -- How are you计算字符串长度用 # 符号。 print(#hello) -- 5字符串可以使用两个方括号表示。 html [[ html head/head bodypLua/p /body /html ]]print(html)--[[ 打印结果也有换行html head/head bodypLua/p /body /html--]]如果字符串的内容也有两个方括号就会有语法错误此时可以在最外围的两对方括号中间添加 号。 html [[ html head/head bodypLua 这里多出的 ]] 会和 [[ 匹配后面的内容就不被包括在字符串内了/p /body /html ]]表 表可以看成是数组或哈希表取决于 key 值是从 1 开始的连续正整数还是其他类型。 如果没有指定 key 值默认就是数组。 不同于其他语言Lua 的数组索引是从 1 开始的。 table { a, b, c } print(table[1]) -- a print(table[2]) -- b print(table[3]) -- c指定 key 值就变成了哈希表。可以使用 [] 或 . 的方式获取 value 值。 table {[name] Alice,[age] 18, } print(table[name]) -- Alice print(table.age) -- 18需要注意的是如果直接给表赋值第三个位置的值那么前两个位置的值会自动填充为 nil。 table {[3] Alice, } print(table[1]) -- nil print(table[2]) -- nil print(table[3]) -- Alice计算表的长度也是用 # 符号前提是数组的形式哈希表不适用只能计算 key 值为连续正整数的部分。 table { a, b, c } print(#table) -- 3table {[1] a,[3] c } print(#table) -- 1table {[1] a,[2] b, -- key 值为字符串[3] c }print(#table) -- 1如果要判断表是否为空可以使用 next() 函数获取下一个键值对。 table {} print(next(table) nil) -- truetable { a } print(next(table) nil) -- false函数 函数使用 function 定义指定函数名和参数end 结尾。 function Add(a, b)return a b endprint(Add(1, 2)) -- 3函数可以保存到变量中也可以保存到表中。 add function (a, b)return a b end print(add(1, 2)) -- 3table {[add] add } print(table[add](1, 2)) -- 3 print(table.add(1, 2)) -- 3变量 Lua 中声明变量默认是全局变量只有在变量前添加 local 关键字才是局部变量。 a 1 -- 全局变量 local b 2 -- 局部变量可以同时对多个变量进行赋值。 a, b 5, 6 print(a, b) -- 5 6赋值前Lua 会先计算右边的值再赋值所以可以简便地进行变量的交换。 a, b 5, 6 a, b b, a print(a, b) -- 6 5当变量的个数和值的个数不同时Lua 会采取以下策略 变量的个数 值的个数补足 nil变量的个数 值的个数多余的值被忽略 a, b, c 0 print(a, b, c) -- 0 nil nila 0, 1, 2 print(a) -- 0分支循环 分支 分支结构如下每个 if 后面要接 then最后以 end 结尾。 local score 60 if score 60 thenprint(不及格) elseif score 80 thenprint(及格) elseif score 100 thenprint(优秀) elseprint(超标) end-- 及格循环 循环结构如下指定 i 的初始值、终止值、步长。 for i 1, 5, 1 doprint(i .. i) end-- i 1 -- i 2 -- i 3 -- i 4 -- i 5遍历表 有三种方法遍历表常规的第一种如下 table { a, b, c }-- #table 获取 table 的长度 for i 1, #table, 1 doprint(table[i]) end-- a -- b -- c第二种是使用 pairs 方法 table { a, b, c }for key, value in pairs(table) doprint(key .. key .. value .. value) end-- key 1 value a -- key 2 value b -- key 3 value c第三种是使用 ipairs 方法 table { a, b, c }for key, value in ipairs(table) doprint(key .. key .. value .. value) end-- key 1 value a -- key 2 value b -- key 3 value cpairs 和 ipairs 的区别 pairs遍历所有键值对顺序随机可以返回 nil。 ipairs从 key 值为 1 开始顺序遍历key 值不连续则会停止不能返回 nil。 例 1表中有两个键值对缺失了 key 为 2 的值。 pairs 会遍历所有键值对ipairs 只会遍历第一个键值对因为找不到 key 为 2 的值就停止了。 table {[1] a,[3] c }for key, value in pairs(table) doprint(key .. key .. value .. value) end-- key 1 value a -- key 3 value cfor key, value in ipairs(table) doprint(key .. key .. value .. value) end-- key 1 value a例 2补上了一个键值对但是 key 值是字符串 2。 pairs 依然会遍历所有键值对但是顺序乱了。ipairs 依然只能遍历第一个键值对。 table {[1] a,[2] b, -- key 值为字符串[3] c }for key, value in pairs(table) doprint(key .. key .. value .. value) end-- key 3 value c -- key 1 value a -- key 2 value bfor key, value in ipairs(table) doprint(key .. key .. value .. value) end-- key 1 value a
http://www.w-s-a.com/news/90007/

相关文章:

  • wordpress站点更换域名自己做wordpress 模版
  • 怎么做虚拟的网站东莞常平邮编是多少
  • 电子商务网站和普通网站的区别正规网站建设多少费用
  • 郴州免费招聘网站前端好还是后端好
  • 织梦网站怎样做子域名20个中国风网站设计欣赏
  • wordpress网站搬简约创意logo图片大全
  • 叙述网站制作的流程石家庄58同城最新招聘信息
  • 南昌微信网站建设东莞网站优化软件
  • 爱站数据官网纯静态网站挂马
  • 网站建设公司未来方向3d设计网站
  • 建设部网站 干部学院 一级注册建筑师培训 2014年做网站开发的提成多少钱
  • 网上请人做软件的网站铝合金型材外发加工网
  • 手机网站建设万网山东省作风建设网站
  • 网站策划专员招聘50万县城做地方网站
  • 网站开发公司+重庆wordpress自定义搜索界面
  • 梅州南站学校官网
  • 网站变灰代码 所有浏览器企业邮箱域名怎么填写
  • 网站建设哪好旅行社网站模板
  • 网站开发发展存在的问题交换链接营销的经典案例
  • 烟台高端网站建设公司福田市网站建设推广
  • 做网站如何保证询盘数量智慧城市
  • 大连网站平台研发wordpress更改地址
  • 做标书要不要做网站南昌网站排名优化费用
  • 网站内容如何自动关联新浪微博万网域名信息
  • 网站出售网络推广服务费计入什么科目
  • 宁波咨询网站设计西安网站制作开发
  • 深圳市专注网站建设全网营销网络推广
  • 如何快速建设网站虚拟空间软件
  • 一个虚拟主机可以做几个网站免费软件下载中心
  • 美工培训网站中国建筑网官网手机版