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声明变量的时候,并不需要指定数据类型

-- 声明字符串
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循环来遍历

-- 声明数组 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

条件控制、函数

定义函数的语法:

function 函数名(argument1, argument2, ..., argumentn)
    -- 函数体
    return 返回值
end

if、else语法:

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语法入门和C API基础

    2024-05-11 12:02:06       40 阅读
  2. <span style='color:red;'>lua</span><span style='color:red;'>语法</span>

    lua语法

    2024-05-11 12:02:06      56 阅读
  3. <span style='color:red;'>Lua</span><span style='color:red;'>语法</span>

    Lua语法

    2024-05-11 12:02:06      41 阅读
  4. <span style='color:red;'>Lua</span><span style='color:red;'>语法</span>

    Lua语法

    2024-05-11 12:02:06      27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-11 12:02:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-11 12:02:06       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-11 12:02:06       87 阅读
  4. Python语言-面向对象

    2024-05-11 12:02:06       96 阅读

热门阅读

  1. 聊聊Mysql锁问题

    2024-05-11 12:02:06       24 阅读
  2. MySQL中的批量更新实战

    2024-05-11 12:02:06       30 阅读
  3. 低代码技术赋能未来乡村建设:创新与实践

    2024-05-11 12:02:06       34 阅读
  4. IT界常说的六大名言

    2024-05-11 12:02:06       29 阅读