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。
相关推荐
码到成功>_<11 小时前
postman使用技巧
测试工具·lua·postman
King.6242 天前
SQL2API 核心理念:如何重构数据服务交付范式
大数据·开发语言·数据库·人工智能·sql·lua
巨龙之路3 天前
Lua中的元表
java·开发语言·lua
weixin_428498493 天前
在Fortran程序中嵌入Lua解释器
lua·hpc
hi星尘4 天前
Redis与Lua原子操作深度解析及案例分析
redis·lua
weixin_428498494 天前
Embedding Lua as Dynamic Configuration in C/C++
c语言·lua
程序猿John4 天前
单双线程的理解 和 lua基础语法
开发语言·lua
星空露珠4 天前
迷你世界脚本之容器接口:WorldContainer
开发语言·数据结构·数据库·游戏·lua
一个程序员(●—●)5 天前
C#调用Lua方法1+C#调用Lua方法2,3
开发语言·c#·lua
Lareina~6 天前
【元表 vs 元方法】
unity·lua