lua脚本语言

3.Lua语法入门

Nginx编程需要用到Lua语言,因此我们必须先入门Lua的基本语法。

3.1.初识Lua

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。官网:https://www.lua.org/

image-20210821091437975

Lua经常嵌入到C语言开发的程序中,例如游戏开发、游戏插件等。

Nginx本身也是C语言开发,因此也允许基于Lua做拓展。

3.1.HelloWorld

CentOS7默认已经安装了Lua语言环境,所以可以直接运行Lua代码。

1)在Linux虚拟机的任意目录下,新建一个hello.lua文件

image-20210821091621308

2)添加下面的内容

print("Hello World!")  

3)运行

image-20210821091638140

3.2.变量和循环

学习任何语言必然离不开变量,而变量的声明必须先知道数据的类型。

3.2.1.Lua的数据类型

Lua中支持的常见数据类型包括:

image-20220422175020079

另外,Lua提供了type()函数来判断一个变量的数据类型:

image-20210821091904332

3.2.2.声明变量

Lua声明变量的时候无需指定数据类型,而是用local来声明变量为局部变量:

-- 声明字符串,可以用单引号或双引号,
local str = 'hello'
-- 字符串拼接可以使用 ..
local str2 = 'hello' .. 'world'
-- 声明数字
local num = 21
-- 声明布尔类型
local flag = true

Lua中的table类型既可以作为数组,又可以作为Java中的map来使用。数组就是特殊的table,key是数组角标而已:

-- 声明数组 ,key为角标的 table
local arr = {'java', 'python', 'lua'}
-- 声明table,类似java的map
local map =  {name='Jack', age=21}

Lua中的数组角标是从1开始,访问的时候与Java中类似:

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

Lua中的table可以用key来访问:

-- 访问table
print(map['name'])
print(map.name)

3.2.3.循环

对于table,我们可以利用for循环来遍历。不过数组和普通table遍历略有差异。

遍历数组:

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

遍历普通table

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

3.3.条件控制、函数

Lua中的条件控制和函数声明与Java类似。

3.3.1.函数

定义函数的语法:

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

例如,定义一个函数,用来打印数组:

function printArr(arr)
    for index, value in ipairs(arr) do
        print(value)
    end
end

3.3.2.条件控制

类似Java的条件控制,例如if、else语法:

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

与java不同,布尔表达式中的逻辑运算是基于英文单词:

image-20210821092657918

3.3.3.案例

需求:自定义一个函数,可以打印table,当参数为nil时,打印错误信息

function printArr(arr)
    if not arr then
        print('数组不能为空!')
    end
    for index, value in ipairs(arr) do
        print(value)
    end
end
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Lua是一种轻量级的编程语言,广泛应用于游戏开发领域。编写游戏脚本Lua的一个重要应用之一。下面是一个简要的lua编写游戏脚本的教程: 1. 学习Lua语法:首先,你需要熟悉Lua的基本语法规则,包括变量定义、条件语句、循环语句以及函数等。可以通过阅读官方文档或者参考一些教程来快速入门。 2. 了解游戏引擎:游戏脚本通常是在特定的游戏引擎中运行的,比如Unity或者Cocos2d-X。因此,你需要学习游戏引擎的相关知识,包括如何使用游戏引擎提供的API、如何操作游戏对象等。 3. 设计游戏逻辑:在编写游戏脚本之前,你需要先设计好游戏的逻辑。包括游戏的关卡设计、角色行为规则、胜利条件等。 4. 编写游戏脚本:根据游戏逻辑,使用Lua语言编写游戏脚本。可以使用游戏引擎提供的API来操作游戏对象、实现游戏行为等。可以根据需要定义函数,提高代码的复用性。 5. 测试和调试:编写完游戏脚本后,进行测试和调试是必不可少的。通过运行游戏脚本,检查游戏的运行结果是否符合预期。如果发现问题,可以使用调试工具来定位并修复错误。 6. 优化和扩展:一旦游戏脚本正常运行,你可以进一步优化代码,提高游戏的性能和流畅度。同时,你也可以扩展游戏脚本,添加新的功能或者增加新的关卡等。 总之,通过学习Lua语法、掌握游戏引擎的使用方法,以及设计和编写游戏脚本,你就能够开始开发自己的游戏了。不过,需要持续学习和实践才能提高自己的编程能力,在游戏开发领域取得好的成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值