毁三观的变量定义

变量定义变量定义告诉解释器为变量创建存储的位置和数量。 变量定义具有可选类型,并包含该类型的一个或多个变量的列表,如下所示 -
type variable_list;

这里,type是可选的本地或全局类型,而variable_list可以包含一个或多个由逗号分隔的标识符名称。 这里显示了一些有效的声明 -
local i, j
local i
local a,c

行local i,j都声明并定义变量i和j; 它指示解释器创建名为i,j的变量,并将范围限制为局部。
变量可以在声明中初始化(分配初始值)。 初始化程序包含一个等号,后跟一个常量表达式,如下所示 -
type variable_list = value_list;

同样的一些示例如下 -
local d , f = 5 ,10 --declaration of d and f as local variables.
d , f = 5, 10; --declaration of d and f as global variables.
d, f = 10 --[[declaration of d and f as global variables.
Here value of f is nil --]]

对于没有初始化程序的定义:具有静态存储持续时间的变量使用nil隐式初始化。
Lua变量声明正如在上面的示例中所看到的,多个变量的赋值遵循variable_list和value_list格式。 在上面的例子中,local d , f = 5 ,10在variable_list中

就是d和f,在value_list中就是5和10。
Lua中的值赋值类似于variable_list中的第一个变量,value_list中的第一个值,依此类推。 因此,d的值为5,f的值为10。
示例
看看以下示例,其中变量已在顶部声明,但它们已在主函数内定义和初始化 -
-- Variable definition:
local a, b

-- Initialization
a = 10
b = 30

print("value of a:", a)

print("value of b:", b)

-- Swapping of variables
b, a = a, b

print("value of a:", a)

print("value of b:", b)

f = 70.0/3.0
print("value of f", f)

构建并执行上述代码时,会产生以下结果 -
value of a: 10
value of b: 30
value of a: 30
value of b: 10
value of f 23.333333333333

左值和右值Lua中有两种表达方式 -

左值 - 引用内存位置的表达式称为“左值”表达式。 左值可以显示为赋值的左侧或右侧。右值 - 术语右值是指存储在内存中某个地址的数据值。 右值是一个不

能赋值的表达式,所以右值可能出现在右侧,但不会出现在赋值的左侧。
变量是左值,因此可能出现在赋值的左侧。 数字文字是右值,因此可能无法分配,也不能出现在左侧。 以下是有效的声明 -
g = 20

但是以下不是有效的语句,会产生构建时错误 -
10 = 20

在Lua编程语言中,除了上述类型的赋值之外,在同一个语句中可以有多个左值和右值。 如下所示。
g,l = 20,30

在上面的语句中,20分配给变量g,30分配给变量l。

原文地址:https://www.cnblogs.com/gd-luojialin/p/10962722.html

时间: 2024-10-17 02:23:51

毁三观的变量定义的相关文章

《Effective C++》之条款26:尽可能延后变量定义式的出现时间

<Effective C++> 条款26:尽可能延后变量定义式的出现时间 只要你定义了一个变量而其类型带有一个构造函数和析构函数,那么当程序的控制流到达这个变量定义式时,你便得承受构造成本:当这个变量离开作用域时,你便得承受析构成本.即使这个变量最终并未被使用,仍需耗费这些成本,所以你应该尽量避免这种情形. 对于"尽可能延后"的理解: 不只应该延后变量多的定义,直到非得使用该变量的前一刻为止,甚至应该尝试延后这份定义直到能够给它初始实参为止.如果这样,不仅能够避免构造(析构

PL/SQL——编程——变量定义

1.变量标量类型(scalar)复合类型(composite)参照类型(reference)lob(large object) --定义一个变长字符串v_ename VARCHAR2(10)--定义一个小数,范围-9999.99~9999.99v_sal NUMBER(6,2)--定义一个小数,并给初始值5.4,:=是plsql的赋值符v_sal2 NUMBER(6,2):=5.4--定义一个日期类型v_hiredate date--定义一个布尔量,不能为空,初始值为falsev_valid B

python变量定义

变量定义规则:1.可以由字母.数字.下划线组成2.第一个字符不能为数字3.不能使用系统保留关键字 约定规范:1.变量名有具体含义2.不能使用中文名(实际上Python支持中文变量名)3.不能使用拼音4.使用下划线分隔单词5.使用单词首字母大写(驼峰型)6.常量使用全大写字母标识

MySql中的变量定义

MySql中的变量定义 根据mysql手册,mysql的变量分为两种:系统变量和用户变量.但是在实际使用中,还会遇到诸如局部变量.会话变量等概念.根据个人感觉,mysql变量大体可以分为四种类型: 一.局部变量. 局部变量一般用在sql语句块中,比如存储过程的begin/end.其作用域仅限于该语句块,在该语句块执行完毕后,局部变量就消失了. 局部变量一般用declare来声明,可以使用default来说明默认值. 例如在存储过程中定义局部变量: drop procedure if exists

php-环境、变量定义与输出、变量用法

1.php环境 1.1lawp 1.2wamp l: linux  w: windows //系统 a: apache  a: apache //阿帕奇 m: mysql  m: mysql //数据库 p: php p: php //php 2.变量定义与输出 2.1定义与输出都得带$ 2.2 定义:$name="xxx"; 输出: echo $name; //输出变量 var_dump($name); //输出数组,并打印类型与长度 print_r($name); //输出数组 3

汇编入门之输入、输出、奇偶判断、多字节变量定义

原创文章,转载请注明:汇编入门之输入.输入.奇偶判断.多字节变量定义 1.入门参考 首先介绍一个非常好的汇编知识的索引网站:经典汇编语言教程 1.1 MOV CX,[BX] 加方框的意思是说以BX中的数据为地址寻址,将寻址得到的数据放在CX中 1.2 16位寄存器组 4个数据寄存器(AX.BX.CX和DX) 2个变址和指针寄存器(SI和DI) 2个指针寄存器(SP和BP) 4个段寄存器(ES.CS.SS和DS) 1个指令指针寄存器(IP) 1个标志寄存器(Flags) 1.3 DB 定义字节变量

c++ 变量 定义 声明

我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:(望我的指点对你受益) 变量的声明有两种情况: 1.一种是需要建立存储空间的.例如:int a 在声明的时候就已经建立了存储空间. 2.另一种是不需要建立存储空间的. 例如:extern int a 其中变量a是在别的文件中定义的. 前者是“定义性声明(defining declaration)”或者称为“定义(definition

&lt;28&gt;【了解】10-枚举类型介绍及定义+【掌握】11-枚举变量变量定义和使用+【掌握】13-typedef定义新的类型+【掌握】15-宏的概念及无参宏定义方法+【掌握】16-有参宏定义和使用方法+【掌握】17-应用:使用有参宏求最大值+【掌握】18-typedef和#define的区别

[了解]10-枚举类型介绍及定义 枚举类型: C语言提供了一个种类型,这种类型的变量的取值被限定在一定的范围之内了 枚举类型的定义: enum 枚举类型名{ 枚举值1,枚举值2,.... }; 举例: 定义一个变量,保存一周的第几天 enum weekday{ zhouyi,zhouer,zhousan,zhousi,zhouwu ,zhouliu,zhouri }; 定义iPhone手机的颜色 关于枚举类型元素的命名习惯 enum iColor{kIcolorWhite,kIcolorBlac

Go语言基础变量定义及初始化

package main import "fmt" func main(){ //变量定义 var v1 int var v2 string var v3 [10] int //数组 var v4 [] int //数组切片 var v5 struct{ f int } var v6 *int //指针 var v7 map[string] int //key 为string value为int的map var v8 func (a int) int //变量初始化 var var1