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.
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