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。
相关推荐
xingpanvip15 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
骇客之技术15 天前
AutoLua:在安卓上写 Lua 脚本
android·junit·lua
weixin_4713830315 天前
Node.js + Express 入门实战笔记-01-基础
node.js·lua·express
闪电悠米15 天前
黑马点评-Redis ZSet-实现关注 Feed 流
服务器·网络·数据库·redis·缓存·junit·lua
Chris-zz16 天前
lua流程控制
开发语言·lua
多彩电脑16 天前
Lua基础入门
开发语言·lua
ellis197017 天前
Lua的module和require
unity·lua
塵觴葉17 天前
基于Lua协程的简单任务管理
开发语言·lua
我是一颗柠檬18 天前
【Java项目技术亮点】Redis Lua脚本原子化操作:高并发场景下的终极武器
java·redis·lua