找到關於 Lua 的82 篇文章

如何從 C 語言呼叫 Lua 函式?

Mukul Latiyan
更新於 2021年7月20日 14:15:47

3K+ 次瀏覽

從 C 語言呼叫 Lua 函式需要一系列步驟,並需要掌握 Lua 庫函式。Lua 提供了一些庫函式,當我們想從 C 語言呼叫 Lua 函式或反過來時可以使用。一些最常用的從 C 語言呼叫 Lua 函式的 Lua 庫函式是:luaL_dofile(L, "myFile.lua");lua_getglobal(L, "add");lua_pushnumber(L, a);等等。當我們從 C 語言呼叫 Lua 函式時,我們將使用這些函式。第一步是關閉 Lua 直譯器,為此我們需要編寫 C 語言程式碼。示例考慮… 閱讀更多

Lua 程式設計中的垃圾收集是如何工作的?

Mukul Latiyan
更新於 2021年7月20日 14:12:54

271 次瀏覽

Lua 提供自動垃圾收集,這對於提供安全的記憶體管理非常有幫助。它基本上意味著您無需擔心新建立的物件或如何分配記憶體。Lua 執行垃圾收集器來收集所有死亡物件(即,在 Lua 中無法訪問的物件)以執行自動記憶體管理。Lua 還為我們提供了不同的函式,我們可以使用這些函式與垃圾收集器互動,這些函式是:collectgarbage ("collect") - 返回一個數字,表示收集器是否執行完整的垃圾收集週期。collectgarbage ("count") - 返回… 閱讀更多

如何在 Lua 中按值複製表?

Mukul Latiyan
更新於 2021年7月20日 14:11:34

1K+ 次瀏覽

複製表意味著我們想要一個表中存在的所有值或對也在另一個表中。在 Lua 中,沒有我們可以用來建立此類表的標準庫函式,但我們可以建立我們自己的函式來做到這一點。讓我們在 Lua 中建立一個函式,該函式將一個表作為引數,並將建立一個新表,該新表將是作為引數傳遞給函式的表的精確副本。示例考慮下面顯示的示例作為參考 - 即時演示 a = {} a["name"] = "mukul" a["age"] = 23 a["isWorking"] = ... 閱讀更多

Javascript 和 Lua 程式設計的區別

Mukul Latiyan
更新於 2021年7月20日 14:08:31

231 次瀏覽

我們知道 JavaScript 和 Lua 的流行程度和用例之間存在巨大差距。除了流行程度和用例方面的差距外,這些語言在程式碼級別上也有許多不同之處。下表突出顯示了 JavaScript 和 Lua 之間一些最顯著的區別。關鍵 JavaScript Lua 比較時的隱式轉換 JavaScript 在比較任何兩個物件時(使用 == 或 != 比較運算子)進行隱式轉換。Lua 在使用比較運算子時不會在型別之間進行轉換。運算子優先順序 在 JavaScript 中,==、===、!= 和 !== 運算子的優先順序低於 >、>=,

Lua 程式設計中 . 和 : 的區別

Mukul Latiyan
更新於 2021年7月20日 14:07:09

5K+ 次瀏覽

Lua 中的 .(點) 運算子用於呼叫物件的的方法,它是 Lua 中廣泛使用的運算子。Lua 中的 :(冒號) 運算子用於當您想要將一個不可見的引數傳遞給您正在呼叫的物件的方法時。讓我們考慮一個示例,其中我們將有一個包含兩個函式的物件,我們將嘗試訪問這些函式,首先是使用點運算子,其次是使用冒號運算子。示例考慮下面顯示的示例 - 即時演示 return X = {foo = function(x, y) return x ... 閱讀更多

Lua 程式設計中表的連線

Mukul Latiyan
更新於 2021年7月20日 14:05:05

7K+ 次瀏覽

我們可以使用一個簡單的函式將兩個表連線在一起,但在 Lua 中需要注意的是沒有為此相同的庫函式。在 Lua 中連線兩個表有不同的方法。我已經編寫了兩種方法,它們在複雜性方面或多或少相同。第一種方法看起來像這樣 - function TableConcat(t1, t2) for i=1, #t2 do t1[#t1+1] = t2[i] end return t1 end 另一種實現相同的方法是使用 ipairs() 函式。示例考慮下面顯示的示例 - for _, v in ipairs(t2) do ... 閱讀更多

Lua 程式設計中字串的連線

Mukul Latiyan
更新於 2021年7月20日 14:03:40

2K+ 次瀏覽

字串連線是我們將兩個或多個字串組合在一起的過程,在大多程式語言中,這可以透過使用賦值運算子來完成。在 Lua 中,賦值運算子連線不起作用。示例考慮下面顯示的示例 - 即時演示 str1 = "tutorials" str2 = "point" 將丟擲錯誤 s = str1 + str2 print(s) 輸出輸入:7:嘗試將“字串”與“字串”相加 因此,最直接的方法是使用連線關鍵字,用 ..(兩個點)表示。讓我們考慮一些 Lua 中連線關鍵字的示例。示例考慮… 閱讀更多

Lua 中的命令列引數

Mukul Latiyan
更新於 2021年7月20日 14:00:08

5K+ 次瀏覽

在 Lua 中處理命令列引數是任何程式語言的關鍵特性之一。在 Lua 中,命令列引數儲存在一個名為 args 的表中,我們可以使用索引來提取我們需要的任何特定命令列引數。語法 lua [options] [script [args]] 選項是:-e stat - 執行字串 stat;-l mod - “需要” mod;-i - 在執行指令碼後進入互動模式;-v - 列印版本資訊;-- - 停止處理選項;- - 將 stdin 作為檔案執行並停止處理選項。示例讓我們考慮一個示例,我們將在互動模式下開啟一個 Lua shell,並將指令碼作為 dev/null 傳遞,然後我們… 閱讀更多

Lua 程式設計中的程式碼縮排

Mukul Latiyan
更新於 2021年7月20日 13:53:46

3K+ 次瀏覽

在縮排方面,Lua 程式碼不像 Python。因此,您編寫的許多程式碼即使位於另一行也能工作,並且您不一定需要將巢狀程式碼縮排一定的製表符大小。Lua 中的程式碼縮排更多的是讓程式碼看起來更好,更易於閱讀。如果您的整個程式碼在一行上,或者更糟的是,如果它像多行一樣,那麼恐怕您的程式碼不太易於閱讀。雖然我們可以使用程式碼編輯器的縮排包來進行縮排… 閱讀更多

Lua 程式設計中的陣列大小

Mukul Latiyan
更新於 2021年7月20日 13:52:36

4K+ 次瀏覽

通常情況下,陣列的大小是在 nil 之前的陣列中存在的元素數量。在許多情況下,陣列中不允許使用 nil,但在某些應用程式中,在陣列中使用 nil 並不是問題。如果我們允許陣列中存在 nil 值,那麼我們必須有一些函式來顯式設定陣列的大小。Lua 為我們提供了兩個函式來運算元組的大小,它們是:setn getn setn 函式用於顯式設定陣列的大小,而… 閱讀更多

廣告
© . All rights reserved.