lua入門(1) - 基本語法

本文參考自:?Lua 基本語法 | 菜鳥教程 (runoob.com)

需要更加詳細了解的還請參看lua 上方鏈接

交互式編程

Lua 提供了交互式編程模式。我們可以在命令行中輸入程序并立即查看效果。

Lua 交互式編程模式可以通過命令 lua -i 或 lua 來啟用:

如下圖:?

按下Ctrl + C 退出。?

腳本式編程


我們可以將 Lua 程序代碼保存到一個以 lua 結尾的文件,并執行,該模式稱為腳本式編程,如我們將如下代碼存儲在名為 hello.lua 的腳本文件中:

兩種模式?

lua ?啟動腳本

程序如下:?

print("Hello World!")
print("mxjun HAA")

添加路徑啟動腳本

程序如下:

#!/usr/bin/luaprint("Hello World!")
print("mxjun HAA")

注釋

兩個減號是單行注釋:

--?單行注釋


多行注釋


--[[
?多行注釋
?多行注釋
?--]]
?

測試程序

#!/usr/bin/luaprint("Ok my Lua")
-- 單行注釋
--print("dis my Lua")--[[多行注釋
]]----[[
print("Hello World!")
print("mxjun HAA")
--]]
print("EZ OF LUA")

運行結果

標示符

Lua 標示符用于定義一個變量,函數獲取其他用戶定義的項。標示符以一個字母 A 到 Z 或 a 到 z 或下劃線?_?開頭后加上 0 個或多個字母,下劃線,數字(0 到 9)。

最好不要使用下劃線加大寫字母的標示符,因為Lua的保留字也是這樣的。

Lua 不允許使用特殊字符如?@,?$, 和?%?來定義標示符。 Lua 是一個區分大小寫的編程語言。因此在 Lua 中 Runoob 與 runoob 是兩個不同的標示符。以下列出了一些正確的標示符:

mohd ? ? ? ? zara ? ? ?abc ? ? move_name ? ?a_123
myname50 ? ? _temp ? ? j ? ? ? a23b9 ? ? ? ?retVal
?

?關鍵字:

保留關鍵字不能作為常量或變量或其他用戶自定義標示符

全局變量:?

賦值全局變量實例:

?在交互式編程模式下,對全局變量b進行就進行賦值:?

nil? -- 表示 空值

Lua:在 Lua 中,nil 是一個表示無值的特殊值。它是唯一的 nil 類型值,常用于初始化變量、表示函數不返回值或作為可選參數的默認值。
?

賦值nil - 刪除變量

如果你想刪除一個全局變量,只需要將變量賦值為nil。

b = nil
print(b) ? ? ?--> nil


這樣變量b就好像從沒被使用過一樣。換句話說, 當且僅當一個變量不等于nil時,這個變量即存在。
?

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

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

相關文章

物理刪除和邏輯刪除區別

物理刪除和邏輯刪除是數據庫管理中針對記錄刪除操作的兩種不同方式,它們的主要區別在于數據的實際處理和后續影響: 物理刪除: 操作實質:物理刪除會將數據記錄從數據庫表中徹底移除,包括記錄所占的磁盤空間都會被釋放。…

Vue3 對跳轉 同一路由傳入不同參數的頁面分別進行緩存

1:使用場景 從列表頁跳轉至不同的詳情頁面,對這些詳情頁面分別進行緩存 2:核心代碼 2.1: 配置路由文件 在路由文件里對需要進行緩存的路由對象添加meta 屬性 // 需要緩存的詳情頁面路由 { name: detail, path: /myRouter/detail…

十大排序:插入/希爾/選擇/堆/冒泡/快速/歸并/計數/基數/桶排序 匯總(C語言)

目錄 前言非線性時間比較類插入排序(1) 直接插入排序(2) 希爾排序 選擇排序(3) 選擇排序優化版(4) 堆排序 交換排序(5) 冒泡排序(6) 快速排序hoare版本挖坑版前后指針版非遞歸版 歸并排序(7) 歸并排序遞歸版非遞歸版 線性時間比較類(8) 計數排序基數排序與桶排序 總結 前言 在計…

報文交換 和 電路交換對比說明

報文交換 和 電路交換 是兩種不同的網絡通信方式,它們在數據傳輸的方式、效率、成本和適用場景等方面有所不同。下面詳細對比這兩種交換方式,并舉例說明。 報文交換(Message Switching) 定義:報文交換是一種存儲-轉發…

昇思25天學習打卡營第13天|基于MindSpore通過GPT實現情感分類

基于MindSpore通過GPT實現情感分類 情感分類 情感分類是指在自然語言處理(NLP)領域中,通過分析文本內容所表達的情感傾向,將文本歸類為正面、負面或中性等類別的任務。 在情感分類中,基于不同的方法和技術,可以分為基于情感詞典的方法、基于傳統機器學習的方法和基于深…

c++筆試題

語言特性 題目1:請解釋C11中新引入的auto和decltype關鍵字,并給出使用示例。 題目2:什么是RAII(Resource Acquisition Is Initialization)?請解釋其原理并舉例說明。 題目3:C11引入了move se…

【unity實戰】使用舊輸入系統Input Manager 寫一個 2D 平臺游戲玩家控制器——包括移動、跳躍、滑墻、蹬墻跳

最終效果 文章目錄 最終效果素材下載人物環境 簡單繪制環境角色移動跳躍視差和攝像機跟隨效果奔跑動畫切換跳躍動畫,跳躍次數限制角色添加2d物理材質,防止角色粘在墻上如果角色移動時背景出現黑線條方法一方法二 墻壁滑行實現角色滑墻不可以通過移動離開…

Web貴州旅游攻略系統-計算機畢業設計源碼16663

目 錄 第 1 章 引 言 1.1 選題背景與意義 1.2 國內外研究現狀 1.3 論文結構安排 第 2 章 系統的需求分析 2.1 系統可行性分析 2.1.1 技術方面可行性分析 2.1.2 經濟方面可行性分析 2.1.3 法律方面可行性分析 2.1.4 操作方面可行性分析 2.2 系統功能需求分析 2.3 系…

前端面試題18(js字符串特定內容查找方法)

在JavaScript中,有多種方法可以用來查找字符串中的特定內容。以下是一些常用的方法,包括它們的用途和示例代碼: 1. indexOf() indexOf() 方法返回指定文本在字符串中第一次出現的索引(位置),如果沒有找到…

初學者打字練習平臺推薦

大牛打字練習平臺 (ccfoj.com) 適合人群:c初學者,10~20歲不定,有效提高對代碼的熟悉程度,以及鍛煉打字速度。 TypingClub TypingClub是一個免費的在線打字練習平臺,提供各種打字練習內容,從基礎到高級。…

pulsar單節點能開啟事務嗎?是不是真的

Apache Pulsar 支持事務,但是需要在分布式模式下運行。單節點模式下不支持 Pulsar 事務。事務功能在 Pulsar 中依賴于分布式的 BookKeeper 存儲服務,以確保事務的持久性和可靠性。 具體來說: 分布式模式和事務支持: 在分布式部署…

MyBatis(26)MyBatis 有哪些方式可以實現多數據源管理

在企業級應用開發中,有時需要同時操作多個數據庫,這就涉及到多數據源管理的問題。MyBatis作為一個流行的持久層框架,本身并沒有直接提供多數據源管理的功能,但是可以通過與Spring等框架結合,或者通過自定義方式來實現多…

【vue組件庫搭建04】使用vitepress搭建站點并部署到github

前言 基于vitePress搭建文檔站點,使用github pages進行部署 安裝VitePress 1.Node.js 18 及以上版本 2.npm add -D vitepress 3.npx vitepress init 4.將需要回答幾個簡單的問題: ┌ Welcome to VitePress! │ ◇ Where should VitePress initi…

Cesium 二三維熱力圖

Cesium 二三維熱力圖 原理:主要依靠heatmap.js包來實現 效果圖:

elementPlus-vue3-ts表格單選和雙選實現方式

記錄在vue3、ts、element-plus環境下表格單選和多選的實現方式 單選 html部分 <el-table...reftaskTableRefselect"selectClick"... ><el-table-column type"selection" width"50" />... </el-table>ts部分 const taskTabl…

三相異步電動機的起動方法

1. 引言 2. 三相籠型異步電動機德起動方法 3. 三相繞線型異步電動機的起動方法 4. 軟起動器起動 5. 參考文獻 1 引言 三相異步電動機結構簡單﹑價格低廉﹑運行可靠﹑維護方便&#xff0c;在工農業生產中得到了廣泛應用。為使電動機能夠轉動起來&#xff0c;并很快達到工作轉…

內存拷貝函數對比測試

內存拷貝函數 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <errno.h> #include <xmmintrin.h> // SSE Intrinsics#define SIZE_1K 1024 #define SIZE_1M (1024 * 1024)void* aligned_malloc…

低代碼平臺在企業數字化轉型中的關鍵角色與應用

隨著數字化轉型的深入推進&#xff0c;企業越來越依賴于快速、靈活的軟件開發和部署方案。傳統的軟件開發往往需要大量的編碼工作和專業技能&#xff0c;而低代碼開發平臺則通過簡化開發流程、降低技術門檻&#xff0c;為企業提供了一種新的解決方案。本文將探討低代碼開發平臺…

從零開始使用WordPress搭建個人網站并一鍵發布公網詳細教程

文章目錄 前言1. 搭建網站&#xff1a;安裝WordPress2. 搭建網站&#xff1a;創建WordPress數據庫3. 搭建網站&#xff1a;安裝相對URL插件4. 搭建網站&#xff1a;內網穿透發布網站4.1 命令行方式&#xff1a;4.2. 配置wordpress公網地址 5. 固定WordPress公網地址5.1. 固定地…

ChatGPT:為什么很多算法經過二分思想的優化就變成了logn

ChatGPT&#xff1a;為什么很多算法經過二分思想的優化就變成了logn 很多算法在經過二分思想優化后&#xff0c;時間復雜度變成 O(log?n)&#xff0c;這主要是因為二分思想能夠顯著減少問題的規模。具體來說&#xff0c;二分思想通常應用于那些問題規模可以通過每一步驟減半的…