[LUA学习笔记04]Lua语法--数据类型

Lua脚本语言——Lua脚本基础语法 1、LUA是一门脚本语言 ①、什么是脚本? 脚本语言又被称为扩建的语言,或者动态语言,是一种编程 语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在 被调用时进行解释或编译 ②、 脚本语言的执行 由于脚本语言是纯文本的,所以CPU无法直接执行脚本程序, 而是通过脚本解析器来执行脚本语言 ③、优缺点 优点:快速开发、容易部署、易学易用、动态代码 缺点:不够全面、效率不高、构建代码结构性不高 ④、常用的脚本语言 bash、python、JavaScript、Lua、PHP、ActionScr. 阅读详情

1. 注释

两个减号引导一行注释
-- this is comment
-- 这是注释

2. 变量

  • 无类型变量
  • 变量名区分大小写
  • 建议不要使用下划线后跟大写(如_LUAOCCUPIED)命名变量,此为LUA内部变量
  • 不需要显式声明变量
  • 未初始化的变量值为nil(注:nil不能参加数学运算)
  • 允许多重赋值
    • 例如 a,b,c = 1,2,3; 等同于 a=1;b=2;c=3;
    • 若右值缺少:没有对应右值的左值被置为nil
    • 若左值缺少:多余的右值被忽略

3. 数据类型

  • numeric 包括整型和浮点型
  • string 字符串
  • function 函数引用,类似C语言的函数指针
  • table 可以充当相关数组、链表、类
  • userdata 可以在LUA中保存C语言的 void* 类型
  • nil 空(NULL的增强版)
函数type()可以返回变量的类型名称。

table类型

初始化
IntArray = {10, 50, 100} StringArray = {"hello", "world", "!"}

初始化索引从1开始,上例中IntArray 1=10; StringArray 1="hello";
但是仍然可以手动赋值: IntArray 0=-100;

索引键
table的索引键只有在第一次被访问时才创建。
例如
IntArray[0] = 1;  IntArray[5000] = 5000;

只有0和5000这两个键被创建。

表成员可以是异类数据
table每个索引对应的值可以是任何类型,甚至是另一个table的引用,例如
MyTable[0] = 100; MyTable[1] = 3.14; MyTable[2] = "string text"; MyTable[3] = {"a","b",1,2,3}; -- 这就相当于二维数组 -- MyTable[3][1]就是"a"


表存储的是引用
table的值只是对于一个数据的引用
a = {}; b = {}; a[10] = {1,2,3}; b[1] = a; b[1][10][2]= "changed"; -- b[1][10][2] 相当于 a[10][2] -- 所以此时a[10][2] = "changed"


用作关联数组
LUA中可以用字符串作为索引键,从而形成 KEY - VALUE 对
Person = {}; Person["name"] = "My Name"; Person["age"] = 24;  print( Person["name"]); print( Person.age);    --也可以通过点操作符访问成员


Table["key"] 与 Table.key 总是等价。 
Lua语言的语法 Lua作为一种轻量级、高效的脚本语言,以其独特的语法和强大的功能被广泛应用于各个领域。无论是游戏开发、嵌入式系统,还是快速原型开发,Lua都展现出了其优越性。随着科技的发展,Lua的应用场景也将继续扩展。作为开发者,掌握Lua将为我们的编程之旅增添更多可能性。在未来的项目中,Lua一定会继续发挥它的光辉。 阅读详情

相关推荐

【Lua】特性和一些基础语法总结(Lua入门到精通一)

Lua的语法基础比较简单,比较容易上手,下面总结一些学习过程中的Lua语法基础。 Lua优点及特性 Lua 是一个小巧的脚本语言。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。Lua 有一个同时进行的JIT项目,提供

天生爱赞美的博客 1万+

Lua中的虚变量——"_"

《Programming in Lua》中有一段使用虚变量的代码,一些新手不太了解含义,这里讲解一下。 一个典型的方法是使用虚变量(下划线) local _,x = string.find(s, p) -- now use 'x' ... Lua的函数可以具有多个返回值,比如下面的示例代码: print(string.find("example", "am")) --- 输出 3 4

tinywang5575的专栏 7749

Lua语言的语法糖

语法糖是指在编程语言中的一些语法结构,它们提供了更简洁或更易读的代码表达方式,但并不增加语言的功能性。这意味着,使用语法糖编写的代码可以被编译器或解释器转换为更基本、更底层的结构,从而实现相同的功能。例如,在Python中,列表推导(List Comprehension)是作为语法糖引入的,它使得创建列表的过程更加简洁和直观。Lua中的语法糖同样以提高代码可读性和可维护性为目标。Lua语言的语法糖为程序员提供了一种简洁而有效的编程方式,使得编写复杂的逻辑变得更加轻松。

2401_90032012的博客 1283

Lua中的require

主要翻译自lua文档,加上了programming lua中自己的一些理解 require(modname) 加载给定的模块.函数首先检查表package.loaded来判定modname是否已经存在.如果存在,则require返回package.loaded[modname]所存储的值否则它尝试为模块找到一个加载器(loader). 要找到一个加载器,require首先查询packag

4万+

达梦7实时主备集群

达梦7实时主备配置实时主备数据环境说明配置主库配置 dm.ini配置dmmal.ini配置dmarch.ini配置dmwatcher.ini配置dmwatcher.ini以mount方式启动主库设置OGUID修改数据库为primary模式配置备库 在服务器部署过程中,通常搭建有数据库主备集群,用于防备数据库服务器产生问题影响数据正常,在此,我们分享一下在虚拟机环境中模拟搭建实时主备的数据守护模式。 在搭建环境之前,需用户确认主备DM7的数据库已安装完成,且版本一致,同时还应注意各实例所在主机的操作系统位数、

g360382的博客 1022

2026年AI编程工作流实战:Claude Code与Open Code深度对比

AI编程已从代码生成工具升级为IDE级智能工作流核心能力。其本质是将大语言模型深度嵌入开发环境,通过语义理解、上下文感知与行动闭环重构传统编码范式。Claude Code以企业级知识图谱和双轨Code Review为代表,强调合规性、可审计与深度集成;Open Code则依托Skill可组合性、本地优先模型与ocp协议,实现开源驱动的灵活扩展。二者共同推动IDE从‘编辑器’进化为‘数字搭档’——能理解RFC文档、记住PR评论、自动补全带重试的fetch逻辑,并在Promise链发呆时一键重构为async/a

weixin_33739523的博客 465

给文字加下划线

 style="cursor:hand; text-decoration:underline"  style="text-decoration:underline" //文字加下划线style="cursor:hand"//当鼠标放文字上面时变成手的形状

6539

跨越移植陷阱:ESP-IDF下LVGL与ILI9341的组件化集成与常见避坑指南

本文详细解析了在ESP-IDF环境下将LVGL图形库与ILI9341显示屏驱动进行组件化集成的完整流程。重点介绍了移植过程中的关键配置策略、内存管理优化技巧以及常见问题解决方案,帮助开发者有效规避内存溢出、显示异常等典型陷阱,实现高效稳定的嵌入式GUI开发。

yhn456789的博客 625

Lua_Lesson_02 lua的基本语法

注释 单行注释 --这是一个单行注释,在Lua语言中,注释是两个减号 多行注释 --[[ 这是一个多行注释 ]] --[[ 为了美观,也可以这样写,在下面的方括号加上两个减号 --]] 标识符 Lua 标示符用于定义一个变量,简单点说就是变量名称。A--Z,a--z,下划线开头加上 0 个或多个字母,下划线,数字(0 到 9)。 尽量不要用下划线加大写字母的变量名称,因为Lua的关键字也是这样的 Lua 不允许使用特殊字符如@,$, 和%来定义标示符...

g73269565的博客 189

基于PTB-XL数据集的深度学习心电信号分类

心电信号的分析与处理是心血管疾病诊断的重要手段。该领域的主要工作领域是分类,它越来越多地得到基于机器学习的算法的支持。在这项工作中,开发了一个深度神经网络来自动分类初级心电信号。这项研究是在PTB-XL数据库中包含的数据上进行的。提出了三种神经网络架构:第一种基于卷积网络,第二种基于SincNet,第三种基于卷积网络,

weixin_55121617的博客 7007

JeecgBoot passwordChange 任意用户密码重置漏洞复现

​JeecgBoot 框架passwordChange接口存在任意用户密码重置漏洞,未经身份验证的远程攻击者可以利用此漏洞重置管理员账户密码,从而接管系统后台,造成信息泄露,导致系统处于极不安全的状态。

0xSec 2641

Lua -- 字符串操作

Lua 字符串字符串或串(String)是由数字、字母、下划线组成的一串字符。 Lua 语言中字符串可以使用以下三种方式来表示: 单引号间的一串字符。 双引号间的一串字符。 [[和]]间的一串字符。字符串操作Lua 提供了很多的方法来支持字符串的操作: 字符串全部转为大写字母。 string.upper(argument): 字符串全部转为小写字母。 string.lower(argumen

阳仔博客 1167

1.FPGA开发软件安装——Vivado

目前主流的FPGA公司包括xilinx和Intel(原altera公司),其开发软件分别为vivado和quartusii。我们这里以目前国内应用较多的vivado为例进行安装讲解。 1、首先是去官网下载 Vivado 安装包:https://www.xilinx.com/support/download.html。下载这个最大的、支持所有的 OS 如 Windows/Linux 的安装包。 2、下载完之后,就进行解压。(最好在解压和安装之前都关闭所有的杀毒软件以防万一)。紧接着,解压完之后...

FPGA/MATLAB学习教程/源码/项目合作开发 8258

Lua 脚本语法学习

例如,如果要为一个 table 扩展加号(+)运算功能,则可重写该 table 元表的__add 元方法,而具体的运算规则,则是定义在该重写的元方法中的。由于协同函数的本质就是函数,所以协同函数的调用方式就是标准的函数调用方式。从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。table.maxn(table)该函数返回指定 table 的数组中的最大索引值,即数组包含元素的个数。

氷的博客 6011

利用恒源云在云端租用GPU服务器训练YOLOv8模型(包括Linux系统命令讲解)

为当涉及到深度学习的训练任务时,GPU的计算能力是不可或缺的。相对于传统的中央处理器(CPU),图形处理器(GPU)具有更强大的并行计算能力,能够显著加速深度学习模型的训练过程。深度学习算法通常涉及大量的矩阵运算和张量操作,而GPU的并行计算架构使得它们能够高效地执行这些计算,从而加速模型训练的速度。恒源云是一个经济高效的云计算平台,您可以通过恒源云的控制台或者命令行界面来管理实例、上传和下载数据、执行训练任务等。

Snu77的博客 6726

YOLO11 改进系列 | 引入2023年 MLCA 的 C3k2_MLCA 模块,近零参数开销的本地-全局通道注意力,适合检测与分割特征增强

本文提出将MLCA(混合局部通道注意力)模块嵌入YOLOv11的C3k2框架中,形成C3k2_MLCA改进结构。该模块通过5×5局部池化和1×1全局池化双路融合,结合ECA式Conv1d生成通道注意力,在几乎不增加参数量的前提下(仅增加66个参数),实现了局部空间信息与全局通道统计的联合建模。相比传统SE和ECA注意力,MLCA保留了空间分布信息,更适合实例分割等需要精细定位的任务。实验表明改进后模型参数量仅增加0.002%,计算量基本不变,是一种高效的注意力增强方案。

qq_44224801的博客 93

Lua语法和应用

该文档列举Lua的基本语法、在Web开发中使用Lua脚本的常用场景和注意事项

qq_38407660的博客 1615

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Lua 八种数据类型以及基本语法

8种数据类型 number 实数 ,可以是整数,浮点数 string 字符串,一旦赋值不能被修改,可以通过方法string.gsub()来修改 nil 全局变量没被赋值默认为nil,删除变量就赋值为 nil boolean(bool) false 和nil为假 ,其它都为真 function 函数 table 数组、容器 userdata (类,其它语言转换过来就变成userda...

liaosheng:) 2万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Lua基础语法

lua注释、数据类型·、标识符、运算符、函数、循环控制、流程控制语法学习。

m0_74189279的博客 1951

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

lua语法介绍

介绍了lua的基本语法

凉茶铺的博客 6755

Lua语法

Lua基础语法

weixin_43647289的博客 1105

Lua 语法学习笔记

Lua 语法学习笔记

花开的博客 1059

[Unity]-[HotUpdate]-[Lua] Lua的基本语法

end。

sky_smile_Allen的博客 1629

【Lua从青铜到王者基础篇】第二篇:Lua基本语法和数据类型

系列文章目录 文章目录系列文章目录前言🌲一、Lua基本语法1.第一个 Lua 程序2.交互式编程3.脚本式编程4.注释1.单行注释2.多行注释1.多行注释注意事项5.标识符6.关键词7.全局变量🌳二、Lua数据类型1.nil(空)2.boolean(布尔)3.number(数字)4.string(字符串)5.function(函数)6.table(表)7.thread(线程)8.userdata(自定义类型)🌲🌳🌴🌵总结 前言 🌲一、Lua基本语法 1.第一个 Lua 程序 Lua 学习起来非常.

森明帮大于黑虎帮的博客 1118

Lua 基本语法

摘要:Lua是一种轻量级脚本语言,语法简洁灵活,支持动态类型。其基本语法包括注释(单行--、多行--[[ ]])、变量(全局变量直接赋值,局部变量用local声明)、8种数据类型(如nil、number、table等)、运算符(算术、关系、逻辑等)及控制结构(if、for、while)。核心特性包括函数(支持多返回值和闭包)和表(table,兼具数组与字典功能)。字符串支持多行定义和常用操作,适合嵌入式开发和快速编程。

likuoelie的博客 1182

Lua语法基本使用

Lua 是一种轻量小巧的脚本语言,用标准 C 语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

总结分享 2364
上一篇: [LUA学习笔记03]LUA函数和C函数的相互调用
下一篇: [Delphi] 计算目录大小的函数,获得目录文件列表,计算文件的大小
mrtechno
博客等级 码龄21年 9粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值