找到 82 篇文章 關於 Lua

Lua 模式匹配與正則表示式

Mukul Latiyan
更新於 2021年7月19日 11:43:09

960 次瀏覽

眾所周知,Lua 遵循的模式匹配設計與通常基於 POSIX 的正則表示式設計大不相同。它們之間幾乎沒有共同點,並且在兩者中,POSIX 方法更為流行,因為它在示例變得更復雜時效果很好,並且可以處理各種情況,但這並不意味著 Lua 的模式匹配不好。事實上,它更容易理解,並且執行起來也非常好。Lua 字串庫有一套特殊的… 閱讀更多

Lua 程式設計中的詞法約定

Mukul Latiyan
更新於 2021年7月19日 11:42:06

281 次瀏覽

在本文中,我們將學習如何在 Lua 程式設計中宣告和編寫不同的詞法約定。在 Lua 中,我們將 NAMES 稱為識別符號,它們可以是字母、數字和下劃線的任何字串,並且不能以數字開頭。讓我們考慮一個 Lua 中不同識別符號的示例,並檢視哪些是有效的,哪些不是。示例考慮以下所示的示例 - 即時演示i = 10 print(i) j1 = 11 print(j1) _ij = 99 print(_ij) aVeryLongName = "Tutorials point" print(aVeryLongName)在上面的示例中,所有變數(識別符號)都是有效的,因為它們要麼以字母開頭,要麼以數字開頭,… 閱讀更多

為什麼 Lua 沒有“continue”語句?

Mukul Latiyan
更新於 2021年7月19日 11:36:51

4K+ 次瀏覽

Lua 中沒有 continue 語句,這並不是因為 Lua 程式語言的開發者認為它沒有用,事實上,在官方文件中他們提到“continue 只是眾多可能的新的控制流機制之一”。這清楚地表明 Lua 程式語言的開發者並不是“continue”語句的忠實粉絲。如果我們需要分解為什麼 Lua 開發人員不希望使用“continue”語句的事實,那麼它可以歸結為兩個可能的答案,它們是 -他們認為“continue”語句只是另一種… 閱讀更多

為什麼 Lua 陣列(表)從 1 開始而不是從 0 開始?

Mukul Latiyan
更新於 2021年7月19日 11:34:35

2K+ 次瀏覽

是的,Lua 中的陣列以索引 1 作為第一個索引,而不是像您在大多數程式語言中看到的那樣以索引 0 作為第一個索引。示例考慮以下所示的示例 - 即時演示arr = {10, 11, 12, 13, 14} print(arr[0]) print(arr[1])在上面的示例中,我們正在列印索引 0 和 1 處的值,並且預設情況下,索引 0 處的值將為 nil,因為在 Lua 中,陣列從 1 開始索引,而不是 0。輸出nil 10因此,現在我們知道陣列是基於 1 索引的,而不是基於 0 索引的。但是,等等,為什麼是 1 索引和 0 索引?實際上,已經… 閱讀更多

Lua 中 pairs() 與 ipairs() 之間有什麼區別?

Mukul Latiyan
更新於 2021年7月19日 11:31:58

10K+ 次瀏覽

在 Lua 中,當我們想使用 for 迴圈遍歷給定表時,我們會同時使用 pairs() 和 ipairs() 函式。這兩個函式都返回鍵值對,其中鍵是元素的索引,值是儲存在該索引表中的元素。雖然它們兩者之間有一些相似之處,但瞭解它們也有一些非常明顯的區別也很重要,我們應該注意這些區別。pairs() 和 ipairs() 函式之間的第一個區別是 pairs() 函式不維護鍵的順序,而 ipairs() 函式肯定維護。示例考慮… 閱讀更多

Lua 中運算子 ~= 的含義是什麼?

Mukul Latiyan
更新於 2021年7月19日 11:30:44

1K+ 次瀏覽

Lua 中的 ~= 符號或運算子稱為不等於運算子。在許多程式語言中,您可能已經看到了 != 符號,它也稱為不等於運算子。讓我們考慮一些我們可以使用不等於運算子的示例。示例考慮以下所示的示例 - 即時演示a = 2 b = 3 print(a ~= b)輸出true示例即時演示t1 = {4,2,3} t2 = {2,3,4} print(t1 ~= t2)輸出true

Lua 程式設計中 # 的含義是什麼?

Mukul Latiyan
更新於 2021年7月19日 11:28:42

568 次瀏覽

一元運算子 # 在 Lua 中稱為長度運算子。它幾乎在 Lua 的任何地方都使用。我說“任何地方”的意思是,在任何我們需要計算任何字串長度的地方,也可以在表中使用,但是當涉及到表時,通常不建議使用 # 運算子,因為它不會計算表中存在的元素數量。讓我們探索長度運算子的不同示例,以瞭解我們如何使用它。示例考慮以下所示的示例 - 即時演示print(#"abcdefg") print(#{"a", "b", "c", 77})輸出7 4在… 閱讀更多

Lua 程式設計中使用的一些重要的科學庫是什麼?

Mukul Latiyan
更新於 2021年7月19日 11:25:40

256 次瀏覽

雖然我們知道 Lua 在我們想將其用作嵌入式語言時做得很好,但它也可以超越其基本用途,並可用於極端情況,例如機器學習和統計分析。市場上存在許多科學庫,用於這種從 Lua 中獲得更多收益的特定情況。讓我們探索這些庫是什麼以及它們的功能。在談論 Lua 和機器學習時,我想到的第一個名字是 Torch 專案。Torch 專案是一個科學計算… 閱讀更多

Lua 程式設計中的閉包是什麼?

Mukul Latiyan
更新於 2021年7月19日 11:23:46

985 次瀏覽

在 Lua 中,任何函式都是一個閉包。從更狹義的角度來看,閉包是一個匿名函式,就像您示例中返回的函式一樣。閉包是一等公民:它們可以分配給變數、傳遞給函式並從函式中返回。它們既可以是 Lua 表中的鍵,也可以是值。與 C++ 或 PHP 不同,Lua 中的閉包可以訪問本地作用域中的所有變數——upvalues,無需顯式宣告 upvalues。當代碼執行離開設定它們的塊時,Upvalues 會保留。現在我們知道了什麼是閉包以及它為什麼有用,讓我們舉一個例子並… 閱讀更多

Lua 程式設計中的 __index 元方法

Mukul Latiyan
更新於 2021年7月19日 11:20:29

2K+ 次瀏覽

每當我們嘗試訪問 Lua 表中尚未宣告的欄位時,我們得到的答案都是 nil。雖然這是真的,但原因是當發生此類訪問時,直譯器會觸發對 __index 元方法的搜尋,如果它沒有找到任何名為 __index 的方法,那麼我們會得到 nil 作為答案;否則,我們將獲得 __index 元方法中設定的欄位值的任何內容。我們可以顯式地將 __index 方法放入表中,並提供我們希望它返回的命名值… 閱讀更多

廣告
© . All rights reserved.