节流计划-基础知识-3-LUA语法-上

本文主要介绍了LUA的基础语法,包括参考书目、基本规范、数据类型、变量、流程控制和循环管理。节流计划利用AIR724UG芯片进行物联网产品开发,强调LUA学习的重要性,并提供学习资源。
摘要由CSDN通过智能技术生成

目录

参考书目

基本语法

数据类型

变量

循环


节流计划旨在降低物联网产品的硬件成本,本专栏将在2021年持续更新。

节流计划不采用STM32/STC/PIC等传统MCU,而是充分挖掘AIR724UG芯片除4G通信外的其他功能,包含但不限于GPIO、TTS、LCD、OTA、FLASH、ADC,KEY,UART,I2C、SPI等。

版权所有,谢绝转载,侵权必究。承接相关物联网项目合作,邮箱:realiot@163.com。


参考书目

LUA语法介绍基于LUA程序设计(第4版),图书链接:https://item.jd.com/12384305.html

语法介绍分3篇文章完成,摘取了本书中的适于初学者掌握且是LUA语法基础的章节。请注意,笔者写出的内容并不完全遵循书中的编写顺序。这3篇文章所涉及的LUA语法知识对于后续的代码编写是相当关键的,但仅仅依赖这3篇文章本身是远远不够的,建议读者阅读这3篇文章有了初步的认识后,通过LUA程序设计(第4版)这本书获得更加系统的LUA学习。

如果您实在不想购买这本图书,通过菜鸟学院,同样也可以达到学习的目的。链接:https://www.runoob.com/lua/lua-tutorial.html

基本规范

规范:标识符、大小写敏感、不加分号

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

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

Lua 不允许使用特殊字符如 @$, 和 % 来定义标示符。

Lua 是一个区分大小写的编程语言。因此在 Lua 中 Runoob 与 runoob 是两个不同的标示符。

Lua语句的结尾不需要添加分号;

 

注释:单行注释、多行注释、多行注释的技巧

单行注释符号 --  ,仅对当前行有效

多行注释符号是一对[[配合使用的。

[[

]]

--我是一个单行注释

--[
我是一个多行注释
--]


--[[
多行注释有效

多行注释的技巧
在多行注释的前半部分符号前加一个-
可以使得多行注释无效
此技巧可以用于代码调试时的临时修改
--]]

---[[
多行注释无效

多行注释的技巧
在多行注释的前半部分符号前加一个-
可以使得多行注释无效
此技巧可以用于代码调试时的临时修改
--]]

 

数据类型

Lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread 和 table。具体如下图所示。

变量

全局变量

在默认情况下,变量总是认为是全局的。全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil。

局部变量

如果需要限定一个变量的有效范围仅限于当前文件,可以使用local关键词初始化变量。

在一个函数内部内初始化的变量,其作用域仅限于函数内部。

 

流程控制、循环及循环管理

条件判断

if 语句if 语句 由一个布尔表达式作为条件判断,其后紧跟其他语句组成。
if...else 语句if 语句 可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码。
if 嵌套语句你可以在if 或 else if中使用一个或多个 if 或 else if 语句 。
local para1=true

if (para1) then
printf("this is lua code");
end


local para2=2

if (para2==1) then
printf("this number is 1");
else 
printf("this number is 2");
end


local para3=3

if (para3==1) then
printf("this number is 1");
else if(para3==2)
printf("this number is 2");
else
printf("this number is 3");
end

循环

 

while 循环在条件为 true 时,让程序重复地执行某些语句。执行语句前会先检查条件是否为 true。
for 循环重复执行指定语句,重复次数可在 for 语句中控制。
repeat...until重复执行循环,直到 指定的条件为真时为止
循环嵌套可以在循环内嵌套一个或多个循环语句(while do ... end;for ... do ... end;repeat ... until;)

循环管理

break 语句退出当前循环或语句,并开始脚本执行紧接着的语句。
goto 语句将程序的控制点转移到一个标签处,与C语言的goto语句类似。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值