【lua初级篇】基础知识和开发工具

2023-05-16

文章介绍

文章介绍

简述

工具安装配置和下载

快速看基础知识

一些常用的关键字一览

数据类型

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里写脚本开发游戏功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【lua初级篇】基础知识和开发工具 的相关文章

  • http://wwwnno00.irrlicht3d.cn:8011/forum-20-3.html

    http wwwnno00 irrlicht3d cn 8011 forum 20 3 html
  • git guest reporter

    权限列表如下 xff1a ActionGuestReporterDeveloperMasterOwnerCreate new issue Leave comments Pull project code Download project C
  • 元素化学期末(考点)整理

    元素化学 期末 xff08 考点 xff09 整理 作者 xff1a gjq 转载或引用需联系作者 xff0c 欢迎给作者打钱 xff01 2019年期末考题请联系作者 xff0c 作者微信 xff1a photon gjq xff0c q
  • 关于ubuntu自启动(rc.local,/etc/rcx.d软连接,创建自定义service)

    ubuntu自启动 xff08 总结 xff09 前言方法一 xff1a 编辑etc rc local方法二 xff1a rcx d 下添加脚本方法三 xff1a 创建service 前言 日常工作中难免碰到需要让某些应用程序自启动的功能
  • springMVC+mybatis环境搭建

    web xml文件配置 lt 加载Spring容器配置 gt lt 设置Spring容器加载所有的配置文件的路径 gt lt context param gt lt param name gt contextConfigLocation l
  • 解决 https 无法访问

    本人腾讯云服务器 xff0c 放假上班打开宝塔面板 xff0c 结果无法访问 我想着重启实例 xff0c 结果面板可以打开 xff0c 但是域名打不开了 xff08 之前是可以打开的 xff09 最后在这个地址找到了答案 xff0c 记录一
  • Python程序设计 简单的图像处理(1)

    Python程序设计 简单的图像处理 xff08 1 xff09 1 写个滤镜 照片照的好 xff0c 不如滤镜用得好 xff01 一款好的滤镜软件可以让照片呈现不一样的风格乃至风情 xff0c 修理照片需要扬长避短达到最佳效果 可是滤镜款
  • Xcode操作流

    1 Xcode IDE概览 说明 xff1a 从左到右 xff0c 依次是 导航窗格 xff08 Navigator xff09 gt 边列 xff08 Gutter xff09 gt 焦点列 xff08 Ribbon xff09 gt 代
  • java gui 多线程,界面假死、僵死问题

    xff08 转载1 xff09 楼主bluepb xff08 流星 xff09 2005 06 04 20 28 17 在 Java GUI 设计 提问 我现在在用jAVA做图形化设计 xff0c 想问个多线程的问题 比如在一个窗口上点个按
  • excel数据对比-----查找两列(表)的相同数据

    原创作品 xff0c 允许转载 xff0c 转载时请务必以超链接形式标明文章 原始出处 作者信息和本声明 否则将追究法律责任 http xueli blog 51cto com 3325186 920592 现有两个excel表 xff0c
  • discuz 微社区 您请求的XXXX无法访问 接口错误(ERR02)

    我遇到的情况 xff1a 1 UC可以访问页面 xff0c 用微信报错 2 4G网络下可以访问 xff0c WiFi网络下报错 网上有两种解决方法 xff1a 1 关闭防采集 xff0c 我最终的采用方法 2 default下的mobile
  • 所有文件夹都变成1KB文件夹快捷方式病毒的手动清除方法

    电脑差不多都因使用U盘而感染了病毒 xff0c 其中一个就是Autoran病毒的变种 xff0c 它的症状我就不再描述了 xff0c 另外一个病毒的症状是所有文件夹都变成了1KB文件夹快捷方式 xff0c 各盘无法双击打开 xff08 但右
  • 搜狗高速浏览器2.0使用体验

    2010年 4 月 8 号 xff0c 我们终于迎来了 国内浏览器的后起之秀搜狗高速浏览器2 0 正式版 的 发布 高速真双核引擎 的概念得到了落实 它新增并改进了诸多功能 xff0c 修改了一些bug xff0c 从整体提高 搜狗高速浏览
  • Connection refused错误

    这个问题整了我两天时间 xff0c 现在终于解决了 问题 xff1a 用php 构造http请求访问自身web服务器页面 xff0c 总是报Connection refused 111 错误 显示 xff1a unable to conne
  • QT样式表从入门到精通

    QT样式表从入门到精通 文章目录 QT样式表从入门到精通前言1 背景介绍2 初级学习2 1 34 盒子 34 模型2 2 语法说明2 3 基础控件2 4 控件状态表2 5 选择器 3 中级学习3 1 坐标讲解3 1 1 相对坐标3 1 2
  • GIF89a图片头文件欺骗

    1 什么是GIF89a 一个GIF89a图形文件就是一个根据图形交换格式 xff08 GIF xff09 89a版 xff08 1989年7 月发行 xff09 进行格式化之后的图形 在GIF89a之前还有87a版 xff08 1987年5
  • txt文件导入mysql

    LOAD DATA LOW PRIORITY CONCURRENT LOCAL INFILE 39 file name 39 REPLACE IGNORE INTO TABLE tbl name CHARACTER SET charset
  • mac下终端无法使用数字小键盘的解决方案

    终端下 偏好设置 xff0d 高级 xff0d xff08 去掉 xff09 允许VT100应用程序小键盘模式
  • Mac Eclipse Failed to load JavaHL Library.

    转自 xff1a http blog csdn net wy10207010219 article details 42294293 写这一篇前我想发表一下感慨 xff1a 你所害怕的事 xff0c 你想要逃避的事 xff0c 在将来的某个
  • ROS学习笔记(一)ROS安装和helloworld

    ROS学习笔记 xff08 一 xff09 ROS安装和helloworld 文章目录 一 ros安装及测试1 打开ubuntu软件和更新 xff0c 进行如下设置2 设置安装源3 设置安装密钥4 更新软件源5 安装ros6 添加命令7 初

随机推荐