Lua 语言基础教程

本项目提供Lua编程语言的基础语法示例和教程,帮助初学者快速掌握Lua的核心概念。

Lua 基础语法详解

1. 注释

Lua支持两种注释方式:单行注释和多行注释。

lua 复制代码
-- 这是单行注释

--[[
  这是多行注释
  可以包含多行文本
]]--

2. 变量声明

Lua中的变量默认是全局的,使用local关键字可以声明局部变量。

lua 复制代码
-- 全局变量(默认)
globalVar = "这是全局变量"

-- 局部变量
local localVar = "这是局部变量"

-- nil - 无效值(类似于 null)
local nilValue = nil

3. 数据类型

Lua是动态类型语言,主要支持以下基本数据类型:

3.1 字符串
lua 复制代码
-- 字符串
local str1 = "双引号字符串"
local str2 = '单引号字符串'
local str3 = [[多行字符串
可以包含换行
不需要转义]]
print("字符串:", str1, str2)
print("多行字符串:", str3)
3.2 数字

Lua只有一种数值类型,可以表示整数、浮点数和十六进制数。

lua 复制代码
-- 数字(Lua 只有一种数字类型)
local num1 = 42      -- 整数
local num2 = 3.14    -- 浮点数
local num3 = 0xFF    -- 十六进制
print("数字:", num1, num2, num3)
3.3 布尔值
lua 复制代码
-- 布尔值
local bool1 = true
local bool2 = false
print("布尔值:", bool1, bool2)

4. 控制结构

4.1 条件语句(if-elseif-else)
lua 复制代码
-- if 语句
local age = 20
if age < 18 then
    print("未成年")
elseif age >= 18 and age < 60 then
    print("成年")
else
    print("老年")
end
4.2 循环结构
4.2.1 while 循环
lua 复制代码
-- while 循环
local count = 1
while count <= 5 do
    print("while 循环:", count)
    count = count + 1
end
4.2.2 for 循环
lua 复制代码
-- for 循环(数值循环)
print("\nfor 数值循环:")
for i = 1, 5 do
    print("循环次数:", i)
end

-- 带步长的 for 循环
print("\n带步长的 for 循环:")
for i = 10, 1, -2 do
    print("递减步长:", i)
end
4.2.3 repeat-until 循环
lua 复制代码
-- repeat-until 循环(相当于 do-while)
local num = 1
print("\nrepeat-until 循环:")
repeat
    print("num = ", num)
    num = num + 1
until num > 3

5. 运算符

5.1 算术运算符
lua 复制代码
-- 算术运算符
local a, b = 10, 3
print("算术运算:")
print("a + b = ", a + b)
print("a - b = ", a - b)
print("a * b = ", a * b)
print("a / b = ", a / b)  -- 除法返回浮点数
print("a % b = ", a % b)  -- 取模
print("a ^ b = ", a ^ b)  -- 幂运算
5.2 关系运算符
lua 复制代码
-- 关系运算符
print("\n关系运算:")
print("a == b: ", a == b)
print("a ~= b: ", a ~= b)  -- 不等于
print("a > b:  ", a > b)
print("a < b:  ", a < b)
print("a >= b: ", a >= b)
print("a <= b: ", a <= b)
5.3 逻辑运算符
lua 复制代码
-- 逻辑运算符
print("\n逻辑运算:")
print("true and false: ", true and false)
print("true or false:  ", true or false)
print("not true:       ", not true)
5.4 字符串连接运算符
lua 复制代码
-- 字符串连接
local firstName = "张"
local lastName = "三"
local fullName = firstName .. lastName  -- 使用 .. 连接字符串
print("\n字符串连接:", fullName)
5.5 长度运算符
lua 复制代码
-- 长度运算符 #
local testString = "Hello Lua"
print("\n字符串长度:", #testString)

6. 基本输出

lua 复制代码
-- 使用 print 函数输出信息
print("\n===== 示例结束 =====")

-- 可以输出多个值
print("多个值输出:", 1, 2, "Hello")

学习资源

相关推荐
apcipot_rain3 小时前
C++转Java日记(04)
java·开发语言·c++
云和数据.ChenGuang4 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
蜗牛一步步往上爬8 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
张张123y10 小时前
DSH 插件调试避坑:client.js 设置面板、热重载与高频报错排查表
开发语言·javascript·人工智能·开源·ecmascript·后端开发·ai agent
冻柠檬飞冰走茶13 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
FRing0313 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
雪落漂泊13 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
波力海苔夹心脆67514 小时前
C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例
开发语言·c#·wpf·入门教程·resource·资源字典
不会算法的笨小孩14 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常
Hhy_110716 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio