Lua变量
Lua 变量
变量在使用前,必须在代码中进行声明,即创建该变量。
编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值。
Lua 变量有三种类型:全局变量、局部变量、表中的域。
Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。
局部变量的作用域为从声明位置开始到所在语句块结束。
变量的默认值均为 nil。
例如
a = 5; --全局变量
local b = 5; --局部变量
function joke()
c = 5; --全局变量
local d = 6; --局部变量
end
joke()
print(c, d) --c为全局变量所以为5,d没有定义为nil
---------------此处为新作用范围
do
local a = 6; --局部变量
b = 6; --全局变量
print(a, b); --这里输出局部的变量a=6,b=6
end
---------------跳出局部作用域
print(a, b); --a用的全局变量为5,b虽然最开始为5,但由于被全局修改所以为6
执行输出
5 nil
6 6
5 6
Lua变量的更多相关文章
- lua 变量
lua 变量 类型 全局变量 lua 变量默认均为全局变量 打印一个未定义的变量输出为 nil 示例代码 a = 1 print(a, b) 局部变量 lua 变量默认均为全局变量, 除非变量前显式声 ...
- Lua学习四----------Lua变量
© 版权声明:本文为博主原创文章,转载请注明出处 1.Lua变量 - 变量在使用前,必须在代码中进行声明,即创建该变量 - 编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值 ...
- Lua 变量名词
UpValue Lua中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数.假设函数 ...
- Lua学习笔记2. lua变量和 循环
1. lua中变量的作用域有三种:全局,局部,表中的域 需要注意的是默认的变量都是全局变量,必须声明为local的变量才是局部变量,即使是在函数里面没有使用local修饰的变量依然是全局变量!!!! ...
- lua变量作用域
3.5 – Visibility Rules Lua is a lexically scoped language. The scope of a local variable begins at t ...
- Lua 语言变量
Lua 变量 变量在使用前,必须在代码中进行声明,即创建该变量.编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值. Lua 变量有三种类型:全局变量.局部变量.表中的域. ...
- lua 2 变量
变量在使用前,必须在代码中进行声明,即创建该变量. 编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值. Lua 变量有三种类型:全局变量.局部变量.表中的域. Lua 中的 ...
- lua数据类型与变量
Lua数据类型与变量 Lua中有 8个基本类型分别为: nil.boolean.number.string.userdata.function.thread和 table. lua变量三种类型:全局 ...
- LUA 学习笔记
1.C# 与 LUAC#调用LUA比较简单,但LUA调用C#,有两种方法,一种是直接反射调用,但这种方法有局限性,比如性能低,在IOS平台无法使用反射,因此一般使用WARP方法,即把C#代码注册到LU ...
随机推荐
- iOS--基于键值的观察者模式(KVO)
VO简而言之就是:基于键值的观察者,实际上就是观察者模式. Cocoa Framework已经为我们提供了这一模式,不需要我们自己来实现了.我们只需要按照约定的方式去做就可以了.KVO主要用于用户界面 ...
- 通过Python实现自动填写调查问卷
0X00 前言 快开学了,看到空间里面各种求填写调查问卷的,我才想起来貌似我也还没做.对于这种无意义的问卷,我是不怎么感冒的,所以我打算使用”特技”来完成,也就是python,顺便重新复习一下pyth ...
- 转: NetBean远程开发的格式与过程
1. 介绍远程3种模式 https://netbeans.org/kb/docs/cnd/remote-modes.html 评注:英文的,3种模式讲的非常到位.服务器开发还是全远程比较不错.
- Android studio 升级,不用下载完整版,完美更新到2.0
Android studio 2.0 公布已有一旦时间,据说,速度大大提高了.但是一直没有尝试更新,看到大家相继更新,所以迫不及待就准备更新,但是.更新之路确实异常坎坷.询问度娘,千奇百怪的问题接憧而 ...
- LeetCode——Reverse Integer
Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 Have you ...
- Flex事件机制学习-自定义事件实现类间通信 .
今天,学习Flex自定义事件,可以使两个类通信,定义一个Main类. public class Main extends Sprite { public function ...
- google protocol buffer的原理和使用(一)
一.简单的介绍 Protocol buffers是一个用来序列化结构化数据的技术,支持多种语言诸如C++.Java以及Python语言.能够使用该技术来持久化数据或者序列化成网络传输的数据. ...
- HDU 5344 MZL's xor (多校)[补7月28]
MZL's xor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- 对交换机VLAN及各种端口类型的理解
每学习一种技术时,我们往往需要去了解why,即这个技术是为解决什么问题而出现的. VLAN全称为Virtual Local Area Network,即虚拟局域网,是逻辑上的一种划分.一般来说,如果交 ...
- startActivity、 startActivityForResult 、广播的使用
前言 近期忙着跟项目.好久没有写文字了.今天一个群里面的童鞋问到一个关于不同界面间传值的问题,借这个背景,写一段关于" startActivity. startActivityForResu ...