lua入门(1) - 基本语法

news2024/11/27 12:47:21

本文参考自: Lua 基本语法 | 菜鸟教程 (runoob.com)

需要更加详细了解的还请参看lua 上方链接

交互式编程

Lua 提供了交互式编程模式。我们可以在命令行中输入程序并立即查看效果。

Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用:

如下图: 

按下Ctrl + C 退出。 

脚本式编程


我们可以将 Lua 程序代码保存到一个以 lua 结尾的文件,并执行,该模式称为脚本式编程,如我们将如下代码存储在名为 hello.lua 的脚本文件中:

两种模式 

lua  启动脚本

程序如下: 




print("Hello World!")
print("mxjun HAA")


添加路径启动脚本

程序如下:

#!/usr/bin/lua

print("Hello World!")
print("mxjun HAA")


注释

两个减号是单行注释:

-- 单行注释


多行注释


--[[
 多行注释
 多行注释
 --]]
 

测试程序

#!/usr/bin/lua

print("Ok my Lua")
-- 单行注释
--print("dis my Lua")

--[[
    多行注释
]]--

--[[
print("Hello World!")
print("mxjun HAA")
--]]
print("EZ OF LUA")

运行结果

标示符

Lua 标示符用于定义一个变量,函数获取其他用户定义的项。标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上 0 个或多个字母,下划线,数字(0 到 9)。

最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。

Lua 不允许使用特殊字符如 @$, 和 % 来定义标示符。 Lua 是一个区分大小写的编程语言。因此在 Lua 中 Runoob 与 runoob 是两个不同的标示符。以下列出了一些正确的标示符:

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal
 

 关键字:

保留关键字不能作为常量或变量或其他用户自定义标示符

全局变量: 

赋值全局变量实例:

 在交互式编程模式下,对全局变量b进行就进行赋值: 

nil  -- 表示 空值

Lua:在 Lua 中,nil 是一个表示无值的特殊值。它是唯一的 nil 类型值,常用于初始化变量、表示函数不返回值或作为可选参数的默认值。
 

赋值nil - 删除变量

如果你想删除一个全局变量,只需要将变量赋值为nil。

b = nil
print(b)      --> nil


这样变量b就好像从没被使用过一样。换句话说, 当且仅当一个变量不等于nil时,这个变量即存在。
 

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

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

相关文章

【车载开发系列】J-Link/JFlash 简介与驱动安装方法

【车载开发系列】J-Link/JFlash 简介与驱动安装方法 【车载开发系列】J-Link/JFlash 简介与驱动安装方法 【车载开发系列】J-Link/JFlash 简介与驱动安装方法一. 软件介绍二. 下载安装包二. 开始安装三. 确认安装四. J-Flash的使用 一. 软件介绍 J-Link是SEGGER公司为支持仿真…

springboot校园安全通事件报告小程序-计算机毕业设计源码02445

Springboot 校园安全通事件报告小程序系统 摘 要 随着中国经济的飞速增长,消费者的智能化水平不断提高,许多智能手机和相关的软件正在得到更多的关注和支持。其中,校园安全通事件报告小程序系统更是深得消费者的喜爱,它的出现极大…

Debug-017-elementUI-el-cascader组件首次选择选项不触发表单的自定义校验

前情提要: 今天维护一个表单校验的时候发现一件事情,就是在表单中使用了 el-cascader组件,希望根据接口返回数据去动态校验一下这里面的选项,符合逻辑就通过自定义的表单校验,不符合就在这一项的下面标红提示。做的时候…

Mean teacher are better role models-论文笔记

论文笔记 资料 1.代码地址 2.论文地址 https://arxiv.org/pdf/1703.01780 3.数据集地址 CIFAR-10 https://www.cs.utoronto.ca/~kriz/cifar.html 论文摘要的翻译 最近提出的Temporal Ensembling方法在几个半监督学习基准中取得了最先进的结果。它维护每个训练样本的标签…

C语言图书馆管理系统(管理员版)

案例:图书馆管理系统(管理员版) 背景: 随着信息技术的发展和普及,传统的图书馆管理方式已经无法满足现代图书馆高效、便捷、智能化的管理需求。传统的手工登记、纸质档案管理不仅耗时耗力,而且容易出现错…

RT-Thread Studio与CubeMX联合编程之rtthread启动

看到了好多文章,在rtthread studio中启用mx,后总是复制mx相关msp函数到rt的board.c文件下,实际使用过程中发现并不需要,这里我们看下rt启动流程,看下到底需要不。 1.打开startup_stm32h743xx.S文件,看下芯片…

区块链技术如何改变供应链管理?

引言 供应链管理在现代商业中扮演着至关重要的角色,确保产品和服务从原材料到最终消费者的顺利流转。然而,当前的供应链管理面临诸多挑战,如信息不透明、数据篡改和效率低下等问题,这些问题严重制约了供应链的整体效能和可信度&am…

用kimi和claude自动生成时间轴图表

做时间轴图表并不难,但是很麻烦,先要大量收集相关事件,然后在一些图表软件中反复调整操作。现在借助AI工具,可以自动生成了。 首先,在kimi中输入提示词来获取某个企业的大事记: 联网检索,元语…

【专业指南】移动硬盘坏道下的数据恢复之道

移动硬盘坏道揭秘:数据安全的隐形挑战 在数据日益成为核心资产的今天,移动硬盘作为便携存储的代名词,承载着无数用户的重要信息。然而,随着使用时间的增长和不当操作的影响,移动硬盘可能会遭遇“坏道”这一棘手问题。…

14-30 剑和诗人4 – 具有长上下文窗口的微调 LLM 的数据设计

LLM 中的长上下文窗口的挑战 微调大型语言模型 (LLM) 面临的最大挑战之一在于处理较长的上下文窗口。LLM 经过大量文本数据训练,能够理解和生成类似人类的语言。然而,在推理过程中,这些模型的上下文窗口有限,通常约为 2,048 个标…

基于MCU平台的HMI开发的性能优化与实战(下)

继上篇《基于MCU平台的HMI开发的性能优化与实战(上)》深入探讨了提升MCU平台HMI开发效率和应用性能的策略后,本文将专注于NXP i.MX RT1170 MCU平台的仪表盘开发实践。我们将重点介绍Qt for MCUs的优化技巧,展示如何通过实际案例应…

三、分布式软总线的架构设计

软总线的主要架构如下: 软总线主体功能分为发现、组网、连接和传输四个基本模块,实现: 即插即用:快速便捷发现周边设备。 自由流转:各设备间自组网,任意建立业务连接,实现自由通信。 高效传…

Ubuntu 22.04远程自动登录桌面环境

如果需要远程自动登录桌面环境,首先需要将Ubuntu的自动登录打开,在【settings】-【user】下面 然后要设置【Sharing】进行桌面共享,Ubuntu有自带的桌面共享功能,不需要另外去安装xrdp或者vnc之类的工具了 点开【Remote Desktop】…

Zerotier+Parsec五分钟实现外网远程访问校园或公司内网

0 需求 校园网或公司内网是不能直接通过远程控制桌面软件访问的,想要实现,就必须通过三方的服务来实现穿透内网。但是这样的缺点就是存在延迟。 1 安装软件 (1)Zerotier 是内网穿透软件,在两台设备上都要安装&#…

LabVIEW图像分段线性映射

介绍了如何使用LabVIEW对图像进行分段线性映射处理,通过对特定灰度值区间进行不同的线性映射调整,以优化图像的显示效果。案例中详细展示了如何配置和使用LabVIEW中的图像处理工具,包括设置分段区间、计算映射参数和应用映射函数等步骤。 实…

我独立开发生涯的第一个商业化产品 - 微寻

2024 年 04 月 27 日晚八点,微寻 终于正式上线了。时隔一周,我在五一假期的最后一天写下此文,以纪念这款我独立开发生涯的第一个商业化产品。 1. 何为微寻 微寻 为个人网站提供微信码登录 能力。 没错,微寻 是一个小型 SaaS&am…

【数据结构】07.循环队列

一、循环队列的定义 定义:队列主要有顺序队列,循环队列,双端队列,优先队列。而当中循环队列是一种线性数据结构。它也被称为“环形缓冲器”。它只允许在一端进行插入操作,即队尾(rear)&#xf…

【elasticsearch】IK分词器添加自定义词库,然后更新现有的索引

进入elasticsearch中的plugins位置,找到ik分词器插件,进入ik插件的config文件夹,当中有一个IKAnalyzer.cfg.xml配置文件。使用vim编辑器修改配置文件: vim IKAnalyzer.cfg.xml 配置文件如下(添加了自定义字典的位置&…

springboot交流论坛网站-计算机毕业设计源码00304

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了交流论坛网站的开发全过程。通过分析交流论坛网站管理的不足,创建了一个计算机管理交流论坛网站的方案。文章介绍了交流论坛网站的系统分析部分&…

名企面试必问30题(十九)——最近行业内你觉得做的最好的案例是哪一个,为什么?

1.思路 考察你对于行业了解,对于新动态是否保持时时关注,以及判断好和不好的能力。 首先,明确指出您认为行业内做得最好的案例。简要介绍该案例所属的公司和产品。阐述该案例在测试方面的突出特点和优势,例如采用了创新的测试方法…