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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719567.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719567.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719567.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

YOLOv6-Openvino和ONNXRuntime推理【CPU】

1 環境: CPU:i5-12500 Python:3.8.18 2 安裝Openvino和ONNXRuntime 2.1 Openvino簡介 Openvino是由Intel開發的專門用于優化和部署人工智能推理的半開源的工具包,主要用于對深度推理做優化。 Openvino內部集成了Opencv、Tens…

庫函數和頭文件

難道要求平方根也要自己寫一個&#xff1f; #include<iostream> #include<cmath>//頭文件<cmath>中包含許多數學庫函數 using namespace std; int main() {double a;cin>>a;if(a<0) {cout<<"Illegal input"<<endl;return 0;…

PHP語言常見面試題:在PHP中,如何聲明變量?變量的作用域是什么?

在PHP中&#xff0c;聲明變量非常直接和簡單。您只需要在變量名前加上$符號&#xff0c;然后為其分配一個值。這里有一個基本的例子&#xff1a; php復制代碼 <?php $variableName "Hello, World!"; // 聲明一個名為 $variableName 的變量&#xff0c;并賦值為…

DataGrip 2023:讓數據庫開發變得更簡單、更高效 mac/win

JetBrains DataGrip 2023是一款功能強大的數據庫IDE&#xff0c;專為數據庫開發和管理而設計。通過DataGrip&#xff0c;您可以連接到各種關系型數據庫管理系統(RDBMS)&#xff0c;并使用其提供的一組工具來查詢、管理、編輯和開發數據庫。 DataGrip 2023軟件獲取 DataGrip 2…

前端學習第七天-css常用樣式設置

達標要求 掌握元素的顯示與隱藏 熟練應用溢出的文字隱藏 熟練掌握版心和布局流程 1. 元素的顯示與隱藏 在CSS中有三個顯示和隱藏的單詞比較常見&#xff0c;我們要區分開&#xff0c;他們分別是 display visibility 和 overflow。 他們的主要目的是讓一個元素在頁面中消失…

94、利用多線程優化卷積運算

上一節簡單介紹了多線程的概念,同時也介紹了在使用多線程編程時,對于數據在線程間的切分,應該遵循的一個原則:那就是切分獨立的數據快,而不切分有數據依賴的數據塊。 最后還拋出了一個問題:對于卷積算法而言,你覺的切分哪個維度最合適呢? 卷積的切分 之前花了很多篇幅…

數據結構從入門到精通——鏈表

鏈表 前言一、鏈表1.1 鏈表的概念及結構1.2 鏈表的分類1.3 鏈表的實現1.4 鏈表面試題1.5 雙向鏈表的實現 二、順序表和鏈表的區別三、單項鏈表實現具體代碼text.htext.cmain.c單鏈表的打印空間的開辟鏈表的頭插、尾插鏈表的頭刪、尾刪鏈表中元素的查找鏈表在指定位置之前、之后…

LabVIEW齒輪傳動健康狀態靜電在線監測

LabVIEW齒輪傳動健康狀態靜電在線監測 隨著工業自動化的不斷發展&#xff0c;齒輪傳動作為最常見的機械傳動方式之一&#xff0c;在各種機械設備中發揮著至關重要的作用。然而&#xff0c;齒輪在長期運行過程中易受到磨損、變形等因素影響&#xff0c;進而影響整個機械系統的穩…

日常工作總結

日常工作總結 1000. JAVA基礎1. 泛型1.1 泛型和Object的區別 1100. Spring1. 常用注解1.1 ControllerAdvice注解1.2 緩存Cacheable 2. 常用方法2.1 BeanUtils.copyProperties的用法 3. 常用功能組件3.1 過濾器Filter 2000. Linux應用 1000. JAVA基礎 1. 泛型 1.1 泛型和Objec…

【爬蟲實戰】——Python爬取天氣信息

&#x1f349;CSDN小墨&曉末:https://blog.csdn.net/jd1813346972 個人介紹: 研一&#xff5c;統計學&#xff5c;干貨分享 ???????? 擅長Python、Matlab、R等主流編程軟件 ???????? 累計十余項國家級比賽獎項&#xff0c;參與研究經費10w、40w級橫向 文…

大模型推薦落地啦!融合知識圖譜,螞蟻集團發布!

引言&#xff1a;電商推薦系統的新突破 隨著電子商務平臺的蓬勃發展&#xff0c;推薦系統已成為幫助用戶在信息過載時代中篩選和發現產品的關鍵工具。然而&#xff0c;傳統的推薦系統主要依賴歷史數據和用戶反饋&#xff0c;這限制了它們在新商品推出和用戶意圖轉變時的有效性…

使用AspectJ進行面向切面編程(AOP)

第1章 引言 大家好&#xff0c;我是小黑&#xff0c;業務開發中&#xff0c;咱們經常會遇到這樣的情況&#xff1a;有些代碼幾乎在每個方法里都要用到&#xff0c;比如日志記錄、權限校驗、或者性能監測。如果每次都手動加入這些代碼&#xff0c;不僅效率低下&#xff0c;而且…

深入了解接口測試:方法、工具和關鍵考慮因素

接口測試是軟件測試中的一項重要工作&#xff0c;它涉及到系統與系統之間的交互點。接口可以是外部接口&#xff0c;也可以是內部接口&#xff0c;包括上層服務與下層服務接口以及同級接口。在接口測試中&#xff0c;我們需要確保接口能夠按照預期的方式進行通信和交互&#xf…

C++ 模擬OJ

目錄 1、1576. 替換所有的問號 2、 495. 提莫攻擊 3、6. Z 字形變換 4、38. 外觀數列 5、 1419. 數青蛙 1、1576. 替換所有的問號 思路&#xff1a;分情況討論 ?zs&#xff1a;左邊沒有元素&#xff0c;則僅需保證替換元素與右側不相等&#xff1b;z?s&#xff1a;左右都…

Java - List排序

List排序方法 主要有三種方法&#xff08;按推薦度排序&#xff09;&#xff1a; JDK8的streamComparator#compare()Comparable#compareTo() 法1&#xff1a;list的sort() package com.example.a;import java.util.ArrayList; import java.util.Comparator; import java.util…

pyqt5 QWebEngineView 重寫mousepressevent捕獲鼠標點擊事件,無響應

QWebEngineView 加載網頁后&#xff0c;重寫mousepressevent捕獲鼠標點擊事件&#xff0c;無響應原因是 QWebEngineView在加載界面后&#xff0c;被本身的child接收了該事件&#xff0c; 解決辦法&#xff1a;同過重載event&#xff0c;截取QEvent::ChildAdded事件 from PyQ…

islide2024免費版PPT插件下載

一、功能概覽 iSlide PPT插件是一款專為PowerPoint用戶設計的輔助工具&#xff0c;其功能全面且實用&#xff0c;主要包括但不限于以下幾點&#xff1a; 設計元素庫&#xff1a;提供豐富的設計元素&#xff0c;如主題、布局、圖標、配色等&#xff0c;用戶可以直接拖拽使用&a…

動態規劃|【雙指針】|611.有效三角形個數

題目 611. 有效三角形的個數 給定一個包含非負整數的數組 nums &#xff0c;返回其中可以組成三角形三條邊的三元組個數。 示例 1: 輸入: nums [2,2,3,4] 輸出: 3 解釋:有效的組合是: 2,3,4 (使用第一個 2) 2,3,4 (使用第二個 2) 2,2,3示例 2: 輸入: nums [4,2,3,4] 輸出…

【Python】OpenCV-使用ResNet50進行圖像分類

使用ResNet50進行圖像分類 如何使用ResNet50模型對圖像進行分類。 import os import cv2 import numpy as np from tensorflow.keras.applications.resnet50 import ResNet50, preprocess_input, decode_predictions from tensorflow.keras.preprocessing import image# 設置…