[lua]紫猫lua教程-命令宝典-L1-01-02. 变量

L1[变量]01. 变量命名规则

命名规则:数字字母下划线构成 但是不能数字开头 不推荐中文名 很多都是不支持中文 但是在一些其他的编辑器里面 比如触摸精灵 之类的 就可以

注意 :变量命名必须要包含一定涵义   比如我们要用变量存储一个年龄数值 比如我们用 x=18 别人看我们的源码 看到这里 她不明白 X这个变量为18代表什么意思  如果我们用age=18  那么他一看就明白了 方便我们自己 也方便他人  这个是一个良好的习惯 值得培养

注意 变量名区分大小写

注意:变量名有一些系统保留字 不要占用这些保留字 比如Lua本身的一些语句 if  else  end  function

注意:如果规范一点 我们可以针对 全局变量和局部变量  我们最好区分写法 比如全局变量 p_x=14  p就是public 的缩写  局部变量  l_y l就是local的缩写 不过实际情况下 代码很少 不必如此

小知识:紫猫老师的lua版本是lua5.3 教程的一些代码都是以此为基础

切换办法

zeroBrane Studio 里面 项目--lua解释器—lua5.3

L1[变量]02. Lua语句块特性

小知识:光标容易出现变为插入模式的情况

只是因为 小键盘的0也是insert按键 小键盘模式切换错了 点0变成了点击insert 导致光标变成insert

这里老师稍稍提了下 定义了一个变量 trceprint  然后trceprint  =print   然后 trceprint   就具备了print函数的功能和属性  其实这是后面要讲到的 lua下 函数也是Lua的一种数据类型 函数可以当作普通变量来进行随意的赋值比如x=10  这个x是整数型的  x=”test” 这个x是字符串  但是如果x=print  这个x是数据类型中的函数型  是可以这么用的 因为lua下的函数的理解是很特别的


小知识:lua下的多行代码写到一行的写法

按照常见的其他语言的规范 一般都是如此

age=15;print(age);address=”山东”;print(address)  以分号为间隔 把多行写为一行 这也是最规范最常用的写

但是lua可以 多行代码之间无需任何间隔 lua会自动判断和解析 一样没什么大问题  有问题的话 间隔变为一个空格

结论:了解有这种写法把 但是对于代码阅读是一个非常恶劣的习惯  建议还是分号分隔即可

L1[变量]03. 单行注释与多行注释技巧

注释没什么可说的

注释的作用:让自己看懂自己的代码或者是别人看懂你的代码结构思路

就算是你自己亲手花了很多功夫写的项目代码 如果间隔1个月 或者2个月 你再看这些代码 很多东西就会想不起来 当时如此写的思路 很多项目不是一锤子买卖 可能后面需要调整某些模块 增加一些新的模块 或者客户有其他额外要求  一旦时间过长 忘了当时的代码思路 对于我们自己对于客户都是无法接受的损失  所以随手写注释的习惯还是值得培养的

多行注释:

--[[

XXXX

--]]

单行注释:

--XXXXXX


个人理解下的常见注释和写代码时候注释的插入(仅供参考而且只是在大项目中用的多点)

1. 和客户交流 分析出脚本的运行的基本流程和思路

2.在代码开头列出当前脚本的基本流程

3 然后根据这几个大体的步骤 填充上对应的函数

--[[
功能:实现XXapp的日常签到功能
1.读取账号信息
2.尝试登录
3.登录成功进行签到操作
4.退出账号
5.异常处理和信息反馈
--]]

--1.读取账号信息
readaccount()
--2.尝试登录
logApp()
--3.登录成功进行签到操作
signApp()
--4.退出账号
quitApp()
--5.异常处理和信息反馈
errorApp()

4 完善对应的函数和主体结构

完善函数依然也是这套步骤  先写出功能和大体步骤 然后把步骤散步到代码里面等待进一步的填充和细化

--[[
功能:负责读取对应账号信息
1.确定账号文件
2.确定读取账号行数
3.读取到账号和密码 并进行简单判定是否合法
4.不合法或者其他异常 函数返回空字符串  合法 返回 账号密码对字符串
--]]
function readaccount()

    --1.确定账号文件
    --1--1 如果不存在该文件 则无需执行后续操作 函数返回空字符串

    --2.确定读取账号行数

    --3.读取到账号和密码 并进行简单判定是否合法

    --4.不合法 函数返回空字符串  合法 返回 账号密码对字符串

end

注释在整体结构上的使用就是如此   还有一些零散的注释应用就随便了 比如一般都和本行在同一行

print("readaccount")    --测试是否执行到readaccount函数

如果是对一部分代码进行注释 也可以写到这些代码的上面 这个根据情况而定

小技巧:快速让多行注释失效

---[[

XXX

XXX

--]]

L1[变量]04. 什么是变量

没什么说的 变量的基本概念

不过我记得以前全局变量 局部变量的作用域是有点折腾 等后面看看老师是否讲到这部分了

L1[变量]05. 数据类型之nil

nil类型的值只有1个值 nil

变量如果没有赋值 那么他的值都是nil

L1[变量]06. 数据类型之数字与字符串

数值型  整数 负数 小数  都算数值型的

字符串型

以双引号单引号 或者[[  ]]包围的都算字符串 而且注意[[ ]]可以把内部的内容预格式化   对我们一些复杂字符串而言作用很大

小知识:复杂字符串的赋值[[ ]]

会把复杂的字符串内容原封不动的输出出来 不需要我们预先对字符串里面的某些字符转义或者其他预处理  还是很好的

随手提一下 还是等老师后面详细讲讲把

数据类型的强制转化  tostring() tonumber() 等等

获取当前数据类型 ---type函数‘

判断是否是某个数据类型--还是用type函数也可以判断

L1[变量]07. 数据类型之布尔与其他类型

除了false和nil对应false 其他的都是true 没了

还粗略的讲了一下8种数据类型 也没什么 后面会详细说

123

原文地址:https://www.cnblogs.com/zjl8455482/p/11140581.html

时间: 2024-11-08 16:50:00

[lua]紫猫lua教程-命令宝典-L1-01-02. 变量的相关文章

[lua]紫猫lua教程-命令宝典-L1-01-01. Lua环境与IDE

网上大把的lua教程  不过紫猫老师的教程向来都是讲的非常仔细 所以最近天气已经36+了 魔兽世界还需要冲飞行声望  懒得写单子根本没有单子,正好认认真真的看下紫猫老师的lua教程 紫猫老师的lua教程的目的性相当明确就是让人能够独立的编写按键的lua插件  并且公布了紫猫插件的以前版本的源码  这一点对于我而言都是一个惊喜  可从紫猫老师的源码里面学到很多东西 顺路帮紫猫老师打个广告  不过紫猫老师的教程过于细致 什么都讲到了 视频量一直都很大  入学咨询QQ:345911220 紫猫学院官网

[lua]紫猫lua教程-命令宝典-L1-01-06. 循环结构

L1[循环]01. for循环结构介绍 只是简单的说了下计数型的for循环结构 for i=1,10,1 do testlib.traceprint(i) end 注意几点: 1.上面的1和10表示循环从1开始计数 到达10还在计数  超出10才会不循环 步长1 2 i这个变量是for循环内部的一个局部变量 离开了循环结构就失效了 而且 这个局部变量是非常特殊的  在for结构内我们人工修改这个i这个特殊的局部变量只能作用很小的范围 for i=1,10,1 do testlib.tracepr

lua脚本之lua语言简介以及lua的安装

本博主不擅于进行文字创作,所以,相当一部分文字皆复制于其他博文.还希望能够得到谅解.  一.Lua语言简介 Lua是一个免费的开源软件,可以免费用于科研及商业.Lua具有一个专家团队在维护和升级,其设计旨在项目中扩展功能,因此其内核小而稳定.在游戏开发中,Lua在用户界面.游戏数据管理.实时游戏事件管理.游戏人工智能.创建功能原型等方面具有强大的支持.Lua不能直接访问数据库,但可以通过整合其他语言组件来访问数据库:对于一些耗时要求更高效率的工作,一般交给更加底层的语言去完成,Lua只是起到整合

Lua 架构 The Lua Architecture

转载自:http://magicpanda.net/2010/10/lua%E6%9E%B6%E6%9E%84%E6%96%87%E6%A1%A3/ Lua架构文档(翻译) 十 102010 前段时间翻译了lua官方关于lua5架构设计的一份文档,现在分享给大家. 注意:所有版权都归lua官方所有,本人仅将其翻译为中文,以方便中文阅读者.翻译中出现任何错误导致的结果,本人不负任何责任. 如果有任何翻译错误,以及意见与建议,请email本人.邮件地址:[email protected]. 转载请注

Quick-Cocos2dx-Community lua绑定,lua调用C++ 类

http://blog.csdn.net/marpools/article/details/44341021#reply 这里有篇文章,看三和四. 按上面操作,文件都不缺少的,可以直接看  2. 和 3 . 记住:player3 来打开项目, 的类格式化后,放到他的源代码路径下面, 解释生成的lua 也要放到 api下面 player3  重新生成就可以了 player3    最后打开可能会出现, a nil value. 其实,我们用cocos2d-x-3.10, D:\cocos\setu

紫猫插件-文件读写(1-13)

QM[zm]05.01 文件读写之读取乱码文件(VIP) 小知识:了解下base64编码(功能就目前而言只是让内容无法直接读取 还有一个常用用处是可以把图片的二进制流base64编码 把图片作为字符串来传输 实际上稍微懂一点这方面的知识的很容易看到真实的内容) 举个例子 比如迅雷下载地址 我们把第一行的字符串进行base64解码 得到的结果是 很明显 迅雷对下载地址进行了保护 算法无非就是 给真正的下载地址左侧加AA右侧加ZZ 然后整体bse64加密 得到了我们看到的迅雷下载地址 顺便说一下 我

简易中控紫猫插件版(1)

中控思路基本都是从紫猫老师的教程里面获取到的 脚本代码大部分也是紫猫的  紫猫老师也提供了一个控制后台 不过是在脚本端的  而且暂时只能查看 无法直接修改 索性我就用php写了3个简单网页来作为控制后台 中控的核心思路:实现脚本和中控定期的交互 把脚本的信息上传给中控 中控把对应的内容反馈给脚本 然后脚本根据这些反馈做出对应的操作.紫猫插件的作用是 让我们无需深入研究网页编程就可以实现脚本和中控的交互 至于其他的东西还是需要我们自己来写 当前中控实现的功能 1.用户可以通过脚本注册账号 并可以修

Lua学习笔记--Lua调用C初探

上次学习了怎么用C调用Lua的函数,并返回一个结果,这次看看怎么反过来,用Lua调用C的函数. 一.简介 C调用Lua函数比较简单,只需要操作相关的栈就可以了,但是Lua调用C的话,稍微有一点麻烦,虽然还是用栈来进行数据的传递,但是由于Lua中本身没有C中写的函数,所以需要多一步将C函数注册到Lua中的步骤. Lua反过来调用C函数的话,首先,我们要写一个要被调用的函数,这个函数有一个格式的要求 ,返回值为int,但是这个int并不代表Lua函数的返回值,而是函数返回值的个数,Lua支持多重返回

lua编程之lua与C相互调用

lua是扩展性非常良好的语言,虽然核心非常精简,但是用户可以依靠lua库来实现大部分工作.除此之外,lua还可以通过与C函数相互调用来扩展程序功能.在C中嵌入lua脚本既可以让用户在不重新编译代码的情况下修改lua代码更新程序,也可以给用户提供一个自由定制的接口,这种方法遵循了机制与策略分离的原则.在lua中调用C函数可以提高程序的运行效率.lua与C的相互调用在工程中相当实用,本文就来讲解lua与C相互调用的方法. Lua与C相互调用的首要问题是如何交换数据,lua API使用了一个抽象的栈与