數位是許多程式設計語言中的重要數據類型。在 Lua 中,陣列由表表示。您可以將此資料結構想像成一個倉庫,可用於存儲清單、字典和其他數據集合等數據類型。剛才注意到,Lua 中的陣列是從 1 開始索引的,這與許多其他程式設計語言不同,索引從 0 開始。
在本教程中,我將向你展示如何在 Lua 中創建、操作和使用數位。
如何創建數位?
在 Lua 中,你可以簡單地使用 「local」 關鍵字定義一個陣列。所有值都逐個存儲在其中。例如,假設我們創建了一個數位來存儲水果的名稱。語法如下:
local fruits = {"Orange", "Mango", "Grape", "Pineapple", "Blueberry"}
包含五個元素的陣列也是如此 fruits
:“Orange”、“Mango”、“Grape”、“Pineapple”、“Blueberry”。接下來,您可以學習如何在 Lua 中存取陣列元素。
訪問Array的範例
如前所述,Lua 陣列從 index = 1 開始。您可以存取陣列中的元素,如下所示:
local fruits = {"Orange", "Mango", "Grape", "Pineapple", "Blueberry"}
print(fruits[1]) -- Output: Orange
print(fruits[2]) -- Output: Mango
print(fruits[3]) -- Output: Grape
print(fruits[4]) -- Output: Pineapple
print(fruits[5]) -- Output: Blueberry
一旦你知道了元素的位置,你就可以很容易地調用它。
你能修改陣列元素嗎?
答案很簡單,是的。您可以通過為特定索引分配新值來輕鬆修改陣列中的元素。例如,現在我想修改 fruit 陣列中的第二個元素。將其從Mango更新為 Watermelon。您需要做的是調用它並替換值,如下所示。
local fruits = {"Orange", "Mango", "Grape", "Pineapple", "Blueberry"}
fruits[2] = "Watermelon"
print(fruits[2]) -- Output: Watermelon
如何將元素添加到 Lua 陣列?
您當然可以使用該 table.insert
函數向數位中添加其他元素。此外,您可以為下一個可用索引分配新值。讓我在下面的例子中向您展示:
local fruits = {"Orange", "Mango", "Grape", "Pineapple", "Blueberry"}
-- Using table.insert
table.insert(fruits, "Cherry")
print(fruits[6]) -- Output: Cherry
-- Direct assignment
fruits[7] = "Banana"
print(fruits[5]) -- Output: Banana
在上面的示例中,我向您展示了兩種添加新元素的可能方法。我使用的第一種方法是 insert() 函數。它會在佇列的末尾添加新元素。第二種方法是直接分配。您可以將任何值分配給任何特定索引。
如何刪除 Lua 陣列中的元素?
使用 table.remove
該函數從陣列中刪除元素的直接簡便方法。在下面的例子中可以看到,成功移除第二個位置的元素后,當前索引 2 的元素將變為 Grape 而不是 Mango。
local fruits = {"Orange", "Mango", "Grape", "Pineapple", "Blueberry"}
table.remove(fruits, 2) -- Removes the element at index 2 (Mango)
print(fruits[2]) -- Output: Grape
如何在 Lua 陣列中使用 for 迴圈?
有時,您希望列印陣列中的所有值。您可以使用迴圈反覆運算陣列 for
的元素,而不是一個一個地調用它。如果你忘記了如何使用 for 迴圈,你可以 在這裡查看迴圈教程。
local fruits = {"Orange", "Mango", "Grape", "Pineapple", "Blueberry"}
for i = 1, #fruits do
print(fruits[i])
end
請注意,運算符 #
返回陣列的長度。因此,通過使用 for 迴圈,腳本將列印出 fruits 陣列中的所有元素。
常用陣列操作總結
下面我通過示例整理了所有有用的陣列操作。希望你能好好利用它們並很好地使用數位操作。
-- Creating an array
local numbers = {10, 20, 30, 40, 50}
-- Accessing elements
print("First element: " .. numbers[1]) -- Output: 10
-- Modifying elements
numbers[3] = 35
print("Modified third element: " .. numbers[3]) -- Output: 35
-- Adding elements
table.insert(numbers, 60)
print("Added element: " .. numbers[6]) -- Output: 60
-- Removing elements
table.remove(numbers, 2)
print("After removal, second element: " .. numbers[2]) -- Output: 35
-- Iterating over the array
print("All elements:")
for i = 1, #numbers do
print(numbers[i])
end
結論
Lua 陣組靈活而強大。您可以輕鬆儲存和操作數據集合。通過瞭解如何創建、訪問、修改、添加、刪除和反覆運算數位,您可以有效地管理 Lua 程式中的數據。以後,我將向大家展示更多如何藉助數位建立 Lua 程式的真實案例。敬請期待!