Lua语法入门

Lua语法入门

The Programming Language Lua

变量和循环

数据类型:

数据类型 描述
nil 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。
boolean 包含两个值:false和true
number 表示双精度类型的实浮点数
string 字符串由一对双引号或单引号来表示
function 由 C 或 Lua 编写的函数
table Lua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字、字符串或表类型。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。

利用type函数测试给定变量或者值的类型

Lua声明变量的时候,并不需要指定数据类型

lua 复制代码
-- 声明字符串
local str = 'hello'
-- 字符串拼接可以使用 ..
local str2 = 'hello' .. 'world'
-- 声明数字
local num = 21
-- 声明布尔类型
local flag = true
-- 声明数组 key为索引的 table
local arr = {'java', 'python', 'lua'}
-- 声明table,类似java的map
local map =  {name='Jack', age=21}

-- 访问数组,lua数组的角标从1开始
print(arr[1])
-- 访问table
print(map['name'])
print(map.name)

数组、table都可以利用for循环来遍历

lua 复制代码
-- 声明数组 key为索引的 table
local arr = {'java', 'python', 'lua'}
-- 遍历数组
for index,value in ipairs(arr) do
    print(index, value) 
end


-- 声明map,也就是table
local map = {name='Jack', age=21}
-- 遍历table
for key,value in pairs(map) do
    print(key, value) 
end

条件控制、函数

定义函数的语法:

lua 复制代码
function 函数名(argument1, argument2, ..., argumentn)
    -- 函数体
    return 返回值
end

if、else语法:

lua 复制代码
if(布尔表达式)
    then
    --[ 布尔表达式为 true 时执行该语句块 --]
else
    --[ 布尔表达式为 false 时执行该语句块 --]
end

逻辑运算符:

操作符 描述 实例
and 逻辑与操作符。若 A 为 false,则返回 A,否则返回 B。 (A and B) 为 false。
or 逻辑或操作符。若 A 为 true,则返回 A,否则返回 B。 (A or B) 为 true。
not 逻辑非操作符。与逻辑运算结果相反,如果条件为 true,逻辑非为 false。 not(A and B) 为 true。
相关推荐
姓蔡小朋友1 天前
LUA脚本
开发语言·junit·lua
金融新世界1 天前
推动产业升级:倒逼转型创新与重构产业链格局
lua
oMcLin1 天前
如何在 Debian 11 上配置并优化 Nginx 与 Lua 脚本,提升高并发网站的动态请求处理能力?
nginx·debian·lua
源代码•宸1 天前
goframe框架签到系统项目开发(补签逻辑实现、编写Lua脚本实现断签提醒功能、简历示例)
数据库·后端·中间件·go·lua·跨域·refreshtoken
每天回答3个问题1 天前
Lua 函数教程
开发语言·ue5·ue4·lua
星空露珠2 天前
时间罗盘小界面模组
开发语言·数据结构·算法·游戏·lua
fredricen2 天前
Openwrt21.02应用日志全局开关控制
lua·openwrt·luci
每天回答3个问题2 天前
Lua Table(表)
开发语言·ue4·lua·虚幻引擎
Kang.Charles2 天前
Lua创建Class
开发语言·lua
星空露珠2 天前
2048小游戏制作程序
开发语言·数据库·算法·游戏·lua