Lua 篇(一)— 安装运行Hello World

目录

  • 前言
  • 一、Lua 是什么?
  • 二、Lua和C#的区别
  • 三、安装 Lua
    • Linux 系统上安装
    • Mac OS X 系统上安装
    • Window 系统上安装
    • emmylua+Rider 安装(推荐)
  • 四、Lua学习资料


前言

Lua 是一种轻量级的嵌入式脚本语言,它可以与 C 语言无缝集成,提供了强大的编程能力和灵活的语法。Lua 在很多领域都有广泛的应用,比如游戏开发,网络编程,数据分析等。本文就介绍了 Lua 的安装和运行


一、Lua 是什么?

Lua 是一种由巴西里约热内卢天主教大学的 Roberto Ierusalimschy,Waldemar Celes 和 Luiz Henrique de Figueiredo 开发的开源语言,它建立在 C 语言之上,可以作为一个独立的语言,也可以作为一个嵌入式的库,与其他语言交互。Lua 的名字来自于葡萄牙语的“月亮”。

Lua 的设计目标是简单,小巧,高效,可移植,易扩展。Lua 的语法借鉴了很多其他语言,比如 Pascal,Perl,Python 等,但也有自己的特色,比如使用表(table)作为唯一的数据结构,支持多重赋值,使用冒号(:)作为方法调用的语法糖,支持协程(coroutine)等。

Lua 的应用领域非常广泛,它可以用来开发桌面应用,移动应用,嵌入式系统,网络服务器,数据库,游戏等。Lua 在游戏开发中尤为突出,很多知名的游戏都使用了 Lua 作为脚本语言,比如 World of Warcraft,Angry Birds,Garry’s Mod 等。

二、Lua和C#的区别

Lua可以在几乎所有的操作系统和平台进行编译运行
可以很方便的更新代码
更新了代码后,可以直接在手机上运行,不需要重新安装(后续的热更新方案)
C#只能在特定的操作系统中进行编译成dll文件,然后打包进安装包在其他平台(Android、iOS)运行
在移动平台上不能更新替换已有的dll文件,除非重新下载安装包

三、安装 Lua

Linux 系统上安装

Linux & Mac上安装 Lua 安装非常简单,只需要下载源码包并在终端解压编译即可,本文使用了5.3.0版本进行安装:

curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz
tar zxf lua-5.3.0.tar.gz
cd lua-5.3.0
make linux test
make install

Mac OS X 系统上安装

curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz
tar zxf lua-5.3.0.tar.gz
cd lua-5.3.0
make macosx test
make install

接下来我们创建一个 HelloWorld.lua 文件,代码如下:

print("Hello World!")

执行以下命令:

$ lua HelloWorld.lua

输出结果为:

Hello World!

Window 系统上安装

window 下你可以使用一个叫 “SciTE” 的 IDE环 境来执行 lua 程序,下载地址为:

Github 下载地址:https://github.com/rjpcomputing/luaforwindows/releases

双击安装后即可在该环境下编写 Lua 程序并运行。

emmylua+Rider 安装(推荐)

下载安装并激活好rider(本次版本基于:JetBrains Rider 2022.3.3)

从插件商店中安装emmylua
在这里插入图片描述
在unity中设置好,使用rider打开项目即可
在这里插入图片描述

rider中添加关键字符适配
rider->设置->编辑器->文件类型->找到Lua language file

添加 .lua.txt .lua 识别文件后缀
在这里插入图片描述
新建调试配置Lua Debugger
在这里插入图片描述
在这里插入图片描述
Connection选项选择Tcp (Debugger connect IDE)。别选错了,这步很重要!
在这里插入图片描述

四、Lua学习资料

1、《Programming in Lua》第四版
2、http://www.runoob.com/lua/lua-tutorial.html
3、Lua官网:www.lua.org

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/427260.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

程序员的金三银四求职宝典:如何在关键时期脱颖而出?

个人主页:17_Kevin-CSDN博客 随着春天的脚步渐近,程序员们的求职热潮也随之而来。在这个被称为“金三银四”的招聘季,如何从众多求职者中脱颖而出,成为了许多程序员关注的焦点。本文将为你提供一份全面的求职宝典,助你…

程序员眼中的“祖传代码”

引言 在IT界,特别是在Java项目中,“祖传代码”通常指的是那些经过长时间积累、由多位开发者共同维护、且蕴含深厚技术沉淀的代码片段或模块。这些代码可能存在于项目的核心模块,也可能是一些辅助性的工具类。它们承载着项目的历史&#xff0…

vulhub中Wordpress 4.6 任意命令执行漏洞复现

由于Mysql初始化需要一段时间,所以请等待。成功运行后,访问http://your-ip:8080/打开站点,初始化管理员用户名和密码后即可使用(数据库等已经配置好,且不会自动更新)。 发送如下数据包,可见/tmp…

Kyuubi之Share Level

文章目录 Kyuubi介绍Spark thriftServer的问题Kyuubi架构 共享域参数CONNECTIONUSERGROUPSERVER Kyuubi介绍 Spark thriftServer的问题 STS面临以下的问题: 无法适应多租户场景。STS后端引擎仅仅启动一个application提供服务,提交用户和队列均为固定。…

Linux:Kubernetes(k8s)基础理论笔记(1)

我笔记来源的图片以及共享至GitHub,本章纯理论。这是k8s中部分的基础理论 👇 KALItarro/k8spdf: 这个里面只有一个pdf文件 (github.com)https://github.com/KALItarro/k8spdf👆 什么是kubernetes kubernetes 是一个开源的,用于管…

TikTok企业认证教程:提升账号可信度的必备步骤

TikTok企业认证是TikTok平台用来验证账号真实性和权威性的方式。通过企业认证之后,企业能在TikTok上获得官方标识,可以增强品牌的专业形象,也有利于提升用户对企业内容的信任度。而且通过TikTok企业认证还可以解锁高级功能,如数据…

第105讲:Mycat垂直分表实战:从规划到解决问题的完整指南

文章目录 1.垂直分表的背景2.垂直分表案例实战2.1.垂直分表规划2.2.配置Mycat实现垂直分表2.3.重启Mycat2.4.在Mycat命令行中导入数据结构2.5.查看由Mycat分表后每个分片上存储的表2.6.Mycat垂直分表后可能遇到的问题2.7.垂直分表完成 1.垂直分表的背景 我们的商城系统数据库&…

基于springboot实现乐器社区网站系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现乐器社区网站系统演示 摘要 音乐一直以来都是人们非常喜爱的一种休闲娱乐的方式,人们在聆听音乐时可以全身心的进行放松,从音乐中可以获得认同感,可以与音乐进行情感的交流。而音乐的组成形式也是多样的,现代…

AP8854 DC-DC降压恒压 12V 6A过EMI线路图 宽电压电源管理IC

产品描述 AP8854 一款宽电压范围降压型 DC-D电源管理芯片,内部集成使能开关控制、基准电源、误差放大器、过热保护、限流保护、短路保护等功能,非常适合宽电压输入降压使用。AP8854 带使能控制,可以大大节省外围器件,更加适合电池…

六、继承(一)

1 继承的引入 以往我们想分别实现描述学生、老师的类,可能会这样子做: class Student {string _name;string _number;int _tel;int id;string _address;int _age; }; class Teacher {string _name;int _level;int _tel;int id;string _address;int _ag…

Hackthebox - Authority

#ansible #Certify 赛博雨天:https://yutianqaq.github.io/ Recon smb smbmap -H 10.10.11.222 -u 挂载 smb 到 kali mount -t cifs //10.10.11.222/Development ./smb -o usernamesmb 在 cat smb/Automation/Ansible/PWM/defaults/main.yml 得到 ansible 的加…

循环队列与循环双端队列

文章目录 前言循环队列循环双端队列 前言 1、学习循环队列和循环双端队列能加深我们对队列的理解,提高我们的编程能力。 2、本文循环队列使用的是数组,循环双端队列用的是双向链表 3、题目连接:设计循环队列 ,设计循环双端队列。 …

2024高频前端面试题 HTML 和 CSS 篇

JS和ES6 篇: ​​​​​​​2024高频前端面试题 JavaScript 和 ES6 篇-CSDN博客 一 . HTML 篇 1. H5有什么新特性 1) 语义化标签 用正确的标签做正确的事情。 html 语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析&…

Springboot实现缓存预热

很多时候我们代码中使用缓存时都是先判断缓存中没有数据我们再读取数据库而有则直接使用缓存数据,而在系统冷启动(当系统重启或新启动时,缓存是空的,这被称为冷启动)时,我们毫无意外都是直接获取数据库的内容,这时候缓…

Pytorch Geometric 将表格数据集(CSV 文件)转换为图形数据集

导 读 如今图数据集正在以惊人的速度出现,所有化学分子、社交网络和推荐系统主要以图数据结构的形式存储数据 有需要的朋友关注公众号【小Z的科研日常】,获取更多内容。 01、如何转换CSV文件至图形数据结构 确定图形数据所需的基本信息 节点(…

ViT的若干细节

之前只看了ViT的大概结构,具体的模型细节和代码实现知之甚少。随着ViT逐渐成为CV领域的backbone,有必要重新审视下。 patch -> token 为了将图片处理成序列格式,很自然地想到将图片分割成一个个patch,再把patch处理成token。 …

Go-知识struct

Go-知识struct 1. struct 的定义1.1 定义字段1.2 定义方法 2. struct的复用3. 方法受体4. 字段标签4.1 Tag是Struct的一部分4.2 Tag 的约定4.3 Tag 的获取 githupio地址:https://a18792721831.github.io/ 1. struct 的定义 Go 语言的struct与Java中的class类似&am…

数据结构c版(2)——二叉树

本章我们来了解一下二叉树这一概念。 目录 1.树概念及结构 1.1树的概念​​​​​​​ 1.2 树的特点: 1.3 树的相关概念 1.4 树的表示​​​​​​​ 1.5 树在实际中的运用(表示文件系统的目录树结构) 2.二叉树概念及结构 2.1概念 …

华为云命令行工具KooCLI—高效云端管理的秘诀

做运维多年,公司从传统运维改为云上。刚一接触时,确实因为要学习很多云知识而烦恼。每次想要执行某个操作时,都要先登录到云平台,浏览界面,寻找正确的按钮。这样不仅浪费时间,还经常出错。直到有一天&#…

【深度学习笔记】计算机视觉——锚框

锚框 目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边界从而更准确地预测目标的真实边界框(ground-truth bounding box)。 不同的模型使用的区域采样方法可能不同。 这里…