Lua - Tabel: Pintu Menuju Struktur Data yangkuat

Pengenalan

Hai sana, para programer yang sedang belajar! Hari ini, kita akan memulai perjalanan yang menarik ke dalam dunia tabel Lua. Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya sangat gembira untuk memandu Anda melalui konsep fundamental ini yang menjadi tulang punggung dari pemrograman Lua.

Lua - Tables

Tabel di Lua seperti pisau瑞士军刀 – mereka multifungsi, kuat, dan setelah Anda tahu cara menggunakannya, Anda akan bertanya-tanya bagaimana Anda pernah mengkode tanpanya! Ayo masuk dan membongkar misteri tabel Lua bersama-sama.

Representasi dan Penggunaan

Apa Itu Tabel?

Dalam Lua, tabel adalah struktur data utama (dan satu-satunya!)). Mereka sangat fleksibel dan dapat digunakan untuk merepresentasikan array, list, dictionary, set, dan bahkan objek. Pergunakanlah mereka sebagai wadah ajaib yang dapat menahan hampir apa saja!

Mari mulai dengan contoh sederhana:

local myFirstTable = {1, 2, 3, 4, 5}
print(myFirstTable[1])  -- Output: 1

Dalam contoh ini, kita menciptakan tabel yang mirip dengan array. Tetapi ini adalah fakta unik Lua: tidak seperti mayoritas bahasa pemrograman lainnya, tabel Lua dimulai dari indeks 1, bukan 0!

Tabel juga dapat bertindak seperti dictionary, menyimpan pasangan key-value:

local person = {
name = "Alice",
age = 30,
city = "Wonderland"
}
print(person.name)  -- Output: Alice
print(person["age"])  -- Output: 30

Lihat bagaimana kita dapat mengakses nilai menggunakan baik notasi titik atau kurung siku? Itu seperti memiliki dua sendok untuk makan sop Anda – gunakan yang paling nyaman!

Manipulasi Tabel

Menambah dan Mengubah Elemen

Tabel di Lua dapat diubah, yang berarti kita dapat mengubahnya setelah pembuatannya. Mari lihat bagaimana:

local fruits = {"apple", "banana"}
fruits[3] = "cherry"  -- Menambahkan elemen baru
fruits.orange = "citrus"  -- Menambahkan pasangan key-value
fruits.apple = "red fruit"  -- Mengubah nilai yang ada

print(fruits[3])  -- Output: cherry
print(fruits.orange)  -- Output: citrus
print(fruits.apple)  -- Output: red fruit

Apakah itu menakjubkan bagaimana tabel itu fleksibel? Mereka tumbuh dan berubah seperti keranjang buah nyata!

Memeriksa Panjang Tabel

Untuk mengetahui berapa banyak elemen ada dalam tabel, kita gunakan operator panjang (#):

local numbers = {10, 20, 30, 40, 50}
print(#numbers)  -- Output: 5

Tapi hati-hati! Ini hanya bekerja secara dapat dipercaya untuk urutan (tabel dengan indeks numerik berurutan dimulai dari 1).

Concatenasi Tabel

Lua menyediakan operator yang praktis untuk menggabungkan tabel: table.concat(). Itu seperti lem magis untuk elemen tabel Anda!

local words = {"Hello", "world", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence)  -- Output: Hello world from Lua

Di sini, kita menggabungkan semua elemen words dengan spasi antara mereka. Anda dapat menggunakan pemisah apa pun yang Anda inginkan!

Memasukkan dan Menghapus

Memasukkan Elemen

Untuk menambahkan elemen ke tabel, kita dapat menggunakan table.insert():

local shopping_list = {"milk", "bread"}
table.insert(shopping_list, "eggs")
table.insert(shopping_list, 2, "cheese")

for i, item in ipairs(shopping_list) do
print(i, item)
end
-- Output:
-- 1 milk
-- 2 cheese
-- 3 bread
-- 4 eggs

Perhatikan bagaimana kita menambahkan "eggs" di akhir dan "cheese" di indeks 2? Itu seperti menyusup item ke keranjang belanja Anda!

Menghapus Elemen

Untuk menghapus elemen, kita gunakan table.remove():

local stack = {"plate", "bowl", "cup", "spoon"}
local removed = table.remove(stack)
print(removed)  -- Output: spoon

removed = table.remove(stack, 1)
print(removed)  -- Output: plate

for i, item in ipairs(stack) do
print(i, item)
end
-- Output:
-- 1 bowl
-- 2 cup

Itu seperti permainan Jenga – memindahkan piece dengan hati-hati tanpa menjatuhkan seluruh struktur!

Mengurutkan Tabel

Lua menyediakan fungsi bawaan untuk mengurutkan tabel: table.sort(). Secara default, itu mengurutkan dalam urutan ascending:

local fruits = {"banana", "apple", "cherry", "date"}
table.sort(fruits)

for i, fruit in ipairs(fruits) do
print(i, fruit)
end
-- Output:
-- 1 apple
-- 2 banana
-- 3 cherry
-- 4 date

Anda juga dapat menyediakan fungsi sorting khusus:

local numbers = {3, 1, 4, 1, 5, 9, 2, 6}
table.sort(numbers, function(a, b) return a > b end)

for i, num in ipairs(numbers) do
print(i, num)
end
-- Output:
-- 1 9
-- 2 6
-- 3 5
-- 4 4
-- 5 3
-- 6 2
-- 7 1
-- 8 1

Itu seperti memiliki asisten pribadi untuk mengatur data Anda sesuai dengan kehendak Anda!

Kesimpulan

Dan begitulah, teman-teman! Kita telah berpergian melalui negeri tabel Lua, dari pembuatan hingga manipulasi, penggabungan hingga pengurutan. Tabel adalah roti dan mentega dari pemrograman Lua, dan saya berharap tutorial ini telah memberikan Anda rasa kekuatan dan fleksibilitas mereka.

Ingat, latihan membuat sempurna. Jadi, ayo buat beberapa tabel, mainkan dengan mereka, dan sebelum Anda sadari, Anda akan menjadi ahli memutar tabel seperti seorang pro! Selamat coding, dan semoga tabel Anda selalu terstruktur dan bebas bug!

Credits: Image by storyset