lua学习(2)_____lua的注释和全局变量、局部变量

原创 2016年08月31日 21:03:13

经过上节的介绍想必大家已经成功运行过lua代码了。

下面我们真正的来接触lua基本语法了。



1.注释语法

Lua语言有自己独特的注释语法,同样分为行注释和块注释。


行注释:和C语言很像,以--开头,那么这行之后的字符会被当做注释处理。(--等同于c语言的//)



块注释:以--[[ 开头,以 ]] 结尾,在这之间的所有字符(可以跨多行)会被当做注释处理(-[[等同于c语言的/*,]]等同于*/)。


值得注意的是:在上面注释块最后一行是以--]]结尾而不是]]。

这并不是语法要求,而是一种技巧。

在编程中,我们经常会将某一段代码注释后调试代码,然后取消注释。在C语言中,添加注释块是/*  CODE  */ 但是取消注释需要手动删除注释头,注释尾。

然而在lua中,使用--[[ 和 --]] 结尾。取消注释只需要在注释头前再添加一个 - 。例如:


是不是lua的注释要方便了许多呢?

你以为以上内容注释就说就完了么?那看来你的脑子转得不够快,你考虑到这个问题没有:假如注释内容中出现了]]怎么办?


原意是想将那两行代码都注释掉,可是由于第一行代码出现了]]导致提前遇到注释尾。所以b=1这句代码并没有被注释掉。

对于这个问题,在Lua5.1中提供了一个解决办法:


以上代码仅仅是为了举例,并没有什么实际的含义。



2.全局变量、局部变量

如果还有人不明白什么是全局变量,什么是局部变量的请看下面这段话,如果是老司机已经知道的可以直接跳过这段

全局变量是指:这个变量在没有被同名局部变量覆盖的时候,所有代码块都是可见的。

局部变量是指:该变量只在被申明的代码块中可见,并且可以覆盖同名全局变量或者外层局部变量。

可以看下这个例子:


输出为:



那么在Lua中全局变量,局部变量有什么特殊的地方呢?


在Lua中,全局变量是不需要声明的,也就是说在某个代码块没有对x变量进行局部声明的情况下,使用x那么表示的就是x为全局变量。

而如果要在某个代码块中使用局部变量x需要声明: local x = value ,local关键字表示局部。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

使用Lua 局部变量来优化性能,同时比较局部变量和全局变量

在竞争激烈的游戏行业中,尤其页游,面对策划复杂和频繁的需求,使用脚本可以降低难度和成本。在使用Lua的过程中,会经常访问全局变量来作为配置文件。 在访问全局变量时,可以通过局部变量引用全局变量来优化。...

lua编程 全局变量 环境 模块

1.全局变量与环境 lua中真正存储全局变量的地方不是在_G里面,而是在setfenv(i,table)的table中,所有当前的全局变量都在这里面找,只不过在程序开始时lua会默认先设置一个变量 ...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

深入理解Lua的全局变量_G以及源码实现

原文   http://blog.csdn.net/maximuszhou/article/details/24105673 主题 Lua 注册表        在Lua脚本...

深入理解Lua的全局变量_G以及源码实现

转自:http://www.tuicool.com/articles/RVZvMbn        在Lua脚本层,Lua将所有的全局变量保存在一个常规的table中,这个table被称为全...

深入理解Lua的全局变量_G以及源码实现

在Lua脚本层,Lua将所有的全局变量保存在一个常规的table中,这个table被称为全局环境,并且将这个table保存在一个全局变量_G中,文章首先通过一个递归函数,打印出_G中所有的信息,然后说...

lua 多行注释和取消多行注释

1、lua多行注释: --[[ 代码块 --]] 2、取消多行注释: ---[[ 代码块 --]]

Lua基础 基本介绍

1. Lua 命名规则 跟C语言一样,有字母数字下划线3个元素组合,不能以数字开头,下面这些命名都是合法的 i,  j,    i10,     _ij,      aSomewhatLongNa...

linux glibc rootfs 制作

ramdisk 根文件系统制作1、ramdisk是一个最小的linux rootfs系统,它包含了除内核以外的所有linux系统在引导和管理时需要的工具,包含如下目录:bin,dev,etc,home...

Lua注释

在Lua程序中,有两种注释,单行注释和多行注释1.单行数值单行注释可以注释整行或者一行中的一部分。他一般不用于连续多行的注释文本,当然,和其他语言一样,也可以用来注释掉多行连续的代码,例如:-- 注释...

Quick-Cocos2d-x 如何入门

.player走起 安装好Quick之后,我们先来开启player跑跑看,初窥一下Quick,也正好验证一下环境变量的配置是否争取了。 上面已经提到了安装完成后player所在的位置,毫不...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)