无涯教程-Lua - 变量声明

news2024/9/20 18:01:58

变量的名称可以由字母,数字和下划线字符组成。它必须以字母或下划线开头,由于Lua区分大小写,因此大写和小写字母是不同的。

在Lua中,尽管无涯教程没有变量数据类型,但是根据变量的范围有三种类型。

  • 全局变量(Global)     - 除非明确声明为局部变量,否则所有变量均视为全局变量。

  • 局部变量(Local)       - 当将类型指定为变量的局部变量时,其范围受函数限制。

  • Table字段                  - 这是一种特殊类型的变量,可以容纳除nil以外的任何变量,包括函数。

Lua 变量定义

变量定义意味着告诉解释器在哪里以及为变量创建多少存储空间,变量定义具有可选类型,并包含一个或多个该类型变量的列表,如下所示:

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 --]]

Lua 变量声明

如您在上面的示例中看到的,多个变量的分配遵循variable_list和value_list格式。在上面的示例 local d,f=5,10 中,无涯教程在variable_list中具有d和f,在值列表中具有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 - 变量声明 - 无涯教程网无涯教程网提供变量的名称可以由字母,数字和下划线字符组成。它必须以字母或下划线开头,由于Lua区...https://www.learnfk.com/lua/lua-variables.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/820882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

功率信号源的输出阻抗是多大的

功率信号源是一种产生高功率信号的电子设备,它通常用于测试和测量、无线电通信、音频系统等领域。在实际应用中,功率信号源的输出阻抗对于整个电路的性能和准确性非常重要。 输出阻抗是指电路输出端产生的电阻值。在功率信号源中,输出阻抗通常…

【Linux详解】——进程间通信

📖 前言:本期介绍进程间通信。 目录 🕒 1. 理解进程间通信🕘 1.1 什么是通信🕘 1.2 为什么要有通信🕘 1.3 如何进行进程间通信 🕒 2. 管道🕘 2.1 匿名管道🕤 2.1.1 回顾文…

SpringBoot2学习笔记

信息来源:https://www.bilibili.com/video/BV19K4y1L7MT?p5&vd_source3969f30b089463e19db0cc5e8fe4583a 作者提供的文档:https://www.yuque.com/atguigu/springboot 作者提供的代码:https://gitee.com/leifengyang/springboot2 ----…

自动化测试指南:什么该自动化什么不该自动化

除了测试,测试数据创建、需求跟踪和测试报告等任务也可自动化。 什么应该被自动化? 与人工测试相比,具备明显收益如果失败会对业务造成相当大的损失的业务功能或用户流;自动化测试有助于经常验证这些功能。 需要针对应用程序的每个…

myeclipse的Debug模式

1.表示当前实现继续运行直到下一个断点,快捷键为F8。 2.表示打断整个进程 3.表示进入当前方法,快捷键为F5。 4.表示运行下一行代码,快捷键为F6。 5.表示退出当前方法,返回到调用层,快捷键为F7。 6.表示当前线程的…

硬核来袭!中国AI大模型峰会“封神之作”,开发者们不容错过!

2023年全球AI浪潮迭起,大语言模型热度空前,生成式人工智能为千行百业高质量发展带来更多想象空间。作为前沿科技风向标、汇聚全球开发者的顶级盛会,WAVE SUMMIT 2023深度学习开发者峰会正式定档8月16日,在北京望京凯悦酒店召开。本…

PCB制版技术03

5.21 P(W)改变折线 5.22 点击右键可以拐弯,点击左键可以取消 5.23 这三个点,代表着连接在一起的意思 5.24 把这个电阻和线一连 5.25 点一下,然后把点给拉回来 5.26 连接三极管,十电阻 5.27 对齐和对称就能够感觉很舒服&#xff0c…

Google OAuth 2 authorization - Error: redirect_uri_mismatch 400

出现这个问题,一般是因为google授权origin地址和重定向redirect_uri地址没有匹配上。 请仔细检查重定向地址的url中origin部分和授权origin部分是否能够匹配:

#P0995. [NOIP2005普及组] 循环

题目描述 乐乐是一个聪明而又勤奋好学的孩子。他总喜欢探求事物的规律。一天,他突然对数的正整数次幂产生了兴趣。 众所周知,22 的正整数次幂最后一位数总是不断的在重复 2,4,8,6,2,4,8,6…2,4,8,6,2,4,8,6… 我们说 22 的正整数次幂最后一位的循环长度…

新《生产建设项目水土保持方案审查要点》要求下全流程水土保持应用

目录 专题一 水土保持常用法律法规、规范及文件解读 专题二 水土保持方案及监测、验收开展的流程 专题三 水土保持需要收集的资料 专题四 水土保持现场踏勘需要注意的事项 专题五 常见水土保持工程施工工艺流程 专题六 《生产建设项目水土保持方案审查要点》(…

【Vue3基础】组件保持存活、异步加载组件

一、组件保持存活 1、需求描述 点击按钮跳转到其他组件后,原组件不会被销毁 2、知识整理 1)组件生命周期 创建期:beforeCreate、created 挂载期:beforeMount、mounted 更新期:beforeUpdate、updated 销毁期&am…

【SCSS】网格布局中的动画

效果 index.html <!DOCTYPE html> <html><head><title> Document </title><link type"text/css" rel"styleSheet" href"index.css" /></head><body><div class"container">&l…

在排序数组中查找元素的第一个和最后一个位置——力扣34

文章目录 题目描述法一 二分查找 题目描述 法一 二分查找 int bsearch_1(int l, int r) {while (l < r){int mid (l r)/2;if (check(mid)) r mid;else l mid 1;}return l; }int bsearch_2(int l, int r) {while (l < r){int mid ( l r 1 ) /2;if (check(mid)) l …

第一个maven项目(IDEA生成)

第一个maven项目&#xff08;IDEA生成&#xff09; 步骤1 配置Project SDK 步骤2 配置maven File->Settings搜索maven

【Docker】Docker比虚拟机快的原因、ubuntu容器、镜像的分层概念和私有库的详细讲解

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;目前学习C/C、算法、Python、Java等方向&#xff0c;一个正在慢慢前行的普通人。 &#x1f3c0;系列专栏&#xff1a;陈童学的日记 &#x1f4a1;其他专栏&#xff1a;CSTL&…

proteus常用元件图示和名称(持续更新...)

初学单片机,记录一下proteus常用的元件目录 proteus常用元件图示和名称1 SWITCH(一位开关)2 CAP(无极性电容)3 CAP-ELEC(极性电容)4 CRYSTAL(晶振)5 LED-BIBY(发光二极管)6 RES(电阻)7 BUTTON(按钮)8 AT89C51(经典单片机)9 BUS(总线)10 VCC(电源)11 GROUND(接地)12 BUZZER(蜂鸣…

C++实现矩阵乘法

本贴分享用C实现矩阵乘法计算的功能&#xff0c;具体内容请看代码和注释&#xff0c;这里单独说一明一部分代码块。 1.采用vector< vector<int>>的方式&#xff0c;可以实现无限度的二维动态数组&#xff0c;需要注意的是&#xff0c;对于C来说a[m][n]的写法是合法…

备战秋招 | 笔试强训20

目录 一、选择题 二、编程题 三、选择题题解 四、编程题题解 一、选择题 1、对于顺序存储的线性表&#xff0c;访问结点和增加结点的时间复杂度为&#xff08;&#xff09;。 A. O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1) 2、在下列链表中不能从当前结点出发访问…

NineData支持全版本的企业级Oracle客户端

Oracle 数据库是一款全球领先的关系型数据库管理系统&#xff0c;它为企业提供了高性能、高可用性和安全性的数据处理解决方案&#xff0c;被广泛应用于各个行业。对于 Oracle 数据库&#xff0c;大家都很熟悉&#xff0c;本文不再赘述。 近期&#xff0c;NineData 发布对 Ora…

云时代的运维正是不折不扣的架构师

1、引言 上学那会&#xff0c;每当作文中引用到张良这个典故&#xff0c;总喜欢用 “运筹帷幄之中&#xff0c;决胜千里之外” 来赞美张良雄才大略&#xff0c;指挥若定&#xff0c;现在还让我用的话&#xff0c;我会把这句话送给运维同学。 2013年左右&#xff0c;一朋友在某…