【lua初级篇】基础知识和开发工具
创始人
2025-06-01 04:01:22
0

文章介绍

文章介绍

简述

工具安装配置和下载

快速看基础知识

一些常用的关键字一览

数据类型

table:

运算符

算术运算符

关系运算符

逻辑运算符

条件语句的形式

注释

单行注释

多行注释

总结:


简述

没时间玩魔兽世界,国服也正好离我们远去,综合以条件,以后我们可以学习脚本编程语言,编写“真正”自己的世界。在自己定义的世界里遨游,做主宰,嘻嘻...

引用语句:

​ Lua ​是一种强大、高效、轻量级、可嵌入的脚本语言。它支持过程编程、面向对象编程、函数编程、数据驱动编程和数据描述。

起源于巴西上个世纪90年代,lua是由标准的C语言作为底层语言开发而成的,在所有操作系统和平台上都可以运行,是嵌入式脚本的最佳选择。广泛应用于游戏,应用程序,包括魔兽世界、QQ三国等都在用。

工具安装配置和下载

要开发必须要利器,lua是脚本开发工具比较多,例如:

  • LuaStudio
  • LuaEditor Pro
  • x-studio-
  • Lua调试工具(Decoda)
  • lua for windows(lua开发环境)
  • Notepad++
  • Visual Studio Code 下载地址

相关工具根据自己需要下载使用,笔者用的是vs。

相关插件:

Chinese (Simplified):简体中文

Lua和Lua debug:

创建对应的文件即可编写Lua代码了,注意创建文件的后缀名要以 .lua 结尾,即要带着后缀名格式,否则VSCode是识别不出来是什么东西的,因为它本身就是一个编辑器,而不是IDE那种集成环境

vscode-icons

Code Runner:它可以智能的管理VSCode上面编程语言的运行环境,不仅Lua,其他所谓的C、C++、Java那些语言都可以使用,最大的方便之处就是,安装后可以直接右键运行代码了!

 单独下载环境: 目前版本是lua-5.4.2。

在系统环境里配置安装的lua路径即可。 

cmd输入指令:lua -v 如下说明成功配置。

 

Vs里简单输入代码测试看是否可用,如果报错重启Vs即可。

快速看基础知识

一些常用的关键字一览

 这里说下end关键字是function 结束语以end结束,例如:

function myFun()

    print("我在看")

end

数据类型

Lua语言共有8种基本类型。

nil( 空,无效值 ):有且仅有值nil,表示一个无效值(在条件表达式中相当于false);
boolean( 布尔):包含两个值:false和true;
number( 数值 ):double(双精度)类型(默认类型可以修改 luaconf.h 里的定义);
string( 字符串 ):字符串由一对双引号或单引号、双小括号来表示;
function( 函数 ):由C或Lua编写的函数;
thread( 线程 ): thread 用来表示执行的独立线路,用来执行协同程序;
userdata (用户数据):是一种用户自定义数据,用于表示一种由应用程序或 C/C++ 语言库所创建的类型;

table (表):可以实现数组,哈希表,集合,对象;

table:

table 是 Lua 语言中最主要和强大的数据结构。使用表, Lua 语言可以用一种简单、统一且高效的方式表示数组、集合、记录和其他很多数据结构。 Lua 语言中的表本质上是一种辅助数组。这种数组比 Java 中的数组更加灵活,可以使用数值做索引,也可以使用字符串或其他任意类型的值作索引( 除 nil 外 ) 。

创建表的最简单方式:
a = {}

创建数组:

arr = {"a","b","c"}

获取数组中的值:

输出是

复杂点的table值结构:

arr = {1,A="A","B",2,C=4}

arr["D] = 10

另2中获取table值的方式:

arr.A或arr["A"]    输出都会是:A、A 

注意:以上情况是针对有key值的,比如A这个key值。

运算符

Lua 中支持的运算符有算术运算符、关系运算符、逻辑运算符等。

算术运算符

+   加法

-   减法

*   乘法

/   除法

%   取余

^   乘幂

-   负号

关系运算符

==   等于

~=   不等于

  >   大于

  <   小于

>=   大于等于

<=   小于等于

例如:

16==16-->true
13~=13-->false
20>15 -->true
20<11 -->false
23>=13 -->true
21<=13 -->false 

逻辑运算符

and 逻辑与 A and B &&

or 逻辑或 A or B ||

not 逻辑非 取反,如果为 true, 则返回 false !

其他运算符

.. 连接两个字符串

# 一元预算法,返回字符串或表的长度

条件语句的形式

if()then语句:由一个布尔表达式作为条件判断,其后紧跟其他语句组成。

if 语句:可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码。

if 嵌套语句:可以在if 或 else if中使用一个或多个 if 或 else if 语句 。

小结:Lua 认为 false 和 nil 为假,true 和 非nil 为真。

例如:

输出:0 为 true

注释

单行注释

两个减号是单行注释:
--

多行注释

--[[
        注释A
        注释B
--]]

总结:

以上是最基础的知识,多看看很快就会使用,后面会介绍如何在wow里写脚本开发游戏功能。

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
JAVA多线程知识整理 Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类&#...
【洛谷 P1090】[NOIP... [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G ...
国民技术LPUART介绍 低功耗通用异步接收器(LPUART) 简介 低功耗通用异步收发器...
城乡供水一体化平台-助力乡村振... 城乡供水一体化管理系统建设方案 城乡供水一体化管理系统是运用云计算、大数据等信息化手段࿰...
程序的循环结构和random库...   第三个参数就是步长     引入文件时记得指明字符格式,否则读入不了 ...
中国版ChatGPT在哪些方面... 目录 一、中国巨大的市场需求 二、中国企业加速创新 三、中国的人工智能发展 四、企业愿景的推进 五、...
报名开启 | 共赴一场 Flu... 2023 年 1 月 25 日,Flutter Forward 大会在肯尼亚首都内罗毕...
汇编00-MASM 和 Vis... Qt源码解析 索引 汇编逆向--- MASM 和 Visual Studio入门 前提知识ÿ...
【简陋Web应用3】实现人脸比... 文章目录🍉 前情提要🌷 效果演示🥝 实现过程1. u...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
windows安装JDK步骤 一、 下载JDK安装包 下载地址:https://www.oracle.com/jav...
分治法实现合并排序(归并排序)... 🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨...
在linux上安装配置node... 目录前言1,关于nodejs2,配置环境变量3,总结 前言...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
Linux内核进程管理并发同步... 并发同步并发 是指在某一时间段内能够处理多个任务的能力,而 并行 是指同一时间能够处理...
opencv学习-HOG LO... 目录1. HOG(Histogram of Oriented Gradients,方向梯度直方图)1...
EEG微状态的功能意义 导读大脑的瞬时全局功能状态反映在其电场结构上。聚类分析方法一致地提取了四种头表面脑电场结构ÿ...
【Unity 手写PBR】Bu... 写在前面 前期积累: GAMES101作业7提高-实现微表面模型你需要了解的知识 【技...