当前位置: 首页 > news >正文

无涯教程-Lua - 变量声明

变量的名称可以由字母,数字和下划线字符组成。它必须以字母或下划线开头,由于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=30print("value of a:", a)print("value of b:", b)-- Swapping of variables
b, a=a, bprint("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.lryc.cn/news/107429.html

相关文章:

  • vue3学习-组件基础、深入组件
  • 原型链污染分析
  • RF PCB的9条改进型建议
  • 网络安全(黑客)自学就业
  • uni-app选择器( uni-data-picker)选择任意级别
  • 网络入侵探测器Pi.Alert
  • Flask项目打包为exe(附带项目资源,静态文件)
  • 无代码开发(BIP旗舰版-YonBuilder)
  • 誉天程序员-瀑布模型-敏捷开发模型-DevOps模型比较
  • flutter:占位视图(骨架屏、shimmer)
  • 【雕爷学编程】MicroPython动手做(30)——物联网之Blynk 4
  • python-网络爬虫.BS4
  • C# 开发规范
  • 【uniapp 样式】使用setStorageSync存储历史搜索记录
  • git remote add origin详解
  • 附录1-将uni-app运行到微信开发者工具
  • 【LeetCode】根据二叉树创建字符串
  • 【图论】强连通分量
  • 网络:VRP介绍
  • iOS - 解压ipa包中的Assert.car文件
  • 【Jmeter】配置不同业务请求比例,应对综合场景压测
  • TCP拥塞控制详解 | 1. 概述
  • 使用IPSEC VPN 在有防火墙的场景和有NAT转换的场景下实现隧道通信实验
  • Go和Java实现适配器模式
  • 接口相似数据结构复用率高?Apipost这招搞定!
  • 【零基础学Rust | 基础系列 | Hello, Rust】编写并运行第一个Rust程序
  • 代理模式.
  • BS框架说明
  • iOS——Block签名
  • Flutter 图片选取及裁剪