Lua - Tabel: Pintu ke Struktur Data yang kuat
Pengenalan
Hai sana, para pemrogram yang sedang berkembang! Hari ini, kita akan melakukan perjalanan yang menarik ke dalam dunia tabel Lua. Sebagai guru ilmu komputer di lingkungan tetangga Anda, saya sangat senang untuk memandu Anda melalui konsep fundamental ini yang menjadi tulang punggung pemrograman Lua.
Tabel di Lua seperti pisau Swiss Army - mereka multifungsi, kuat, dan saat Anda tahu bagaimana menggunakannya, Anda akan berpikir bagaimana Anda pernah mengode 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 mewakili array, daftar, kamus, himpunan, dan bahkan objek. Pikirkan mereka sebagai wadah ajaib yang dapat menahan hampir segala sesuatu!
mari mulai dengan contoh sederhana:
local myFirstTable = {1, 2, 3, 4, 5}
print(myFirstTable[1]) -- Output: 1
Dalam contoh ini, kita membuat tabel yang mirip dengan array. Tetapi ini adalah fakta unik Lua: tidak seperti sebagian besar bahasa pemrograman lainnya, tabel Lua dimulai dari indeks 1, bukan 0!
Tabel juga dapat bertindak seperti kamus, 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 maupun kurung siku? Itu seperti memiliki dua sendok untuk makan sup - gunakan yang lebih nyaman untuk Anda!
Manipulasi Tabel
Menambahkan dan Mengubah Elemen
Tabel di Lua dapat diubah, yang berarti kita dapat mengubahnya setelah pembuatan. 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 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 kunci numerik berurutan mulai dari 1).
Konkatenasi Tabel
Lua menyediakan operator yang praktis untuk konkatenasi tabel: table.concat()
. Itu seperti lem ajaib 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 di antara mereka. Anda dapat menggunakan pemisah apa pun yang Anda suka!
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 - menghapus piece dengan hati-hati tanpa mengguncang seluruh struktur!
Mengurutkan Tabel
Lua menyediakan fungsi bawaan untuk mengurutkan tabel: table.sort()
. Secara default, itu mengurutkan dalam urutan naik:
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 memberikan fungsi pengurutan 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 begitu, teman-teman! Kita telah melakukan perjalanan melalui negeri tabel Lua, dari pembuatan hingga manipulasi, konkatenasi hingga pengurutan. Tabel adalah roti dan mentega pemrograman Lua, dan saya harap 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 tahu, Anda akan menjadi ahli memutar tabel seperti pro! Selamat pemrograman, dan may your tables always be well-structured and bug-free!
Credits: Image by storyset