Lua Academy · Pelajaran

Panjang dan Pengurutan

Hitung dan urutkan urutan.

Pelajaran 4 dari 413 langkah

Panjang dan Pengurutan adalah pelajaran Lua Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Lua Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Lua Academy mencakup 4 pelajaran total.

Operator Panjang

Operator # mengembalikan jumlah elemen dalam sebuah deret.

Untuk tabel rapi yang dimulai dari 1 dan memiliki tiga elemen, #t bernilai 3. Elemen terakhir berada pada indeks #t.

local list = {"a", "b", "c"}
print(#list)
print(list[#list])

Panjang dalam Perulangan

Gunakan #t sebagai batas atas perulangan numerik for untuk mengunjungi setiap indeks.

Karena deret dimulai dari 1, rentangnya adalah 1, #t.

local nums = {10, 20, 30, 40}
for i = 1, #nums do
  print(i, nums[i])
end

Tabel Kosong

Deret kosong memiliki panjang 0.

Dengan demikian, #t == 0 menjadi cara cepat untuk memeriksa apakah sebuah daftar memiliki elemen.

local empty = {}
print(#empty)
if #empty == 0 then
  print("list is empty")
end

Panjang Setelah Perubahan

Saat Anda menambahkan atau menghapus elemen dengan fungsi table, nilai # diperbarui sesuai keadaan.

insert menambah jumlahnya, sedangkan remove menguranginya.

local list = {"a", "b"}
table.insert(list, "c")
print(#list)
table.remove(list)
print(#list)

Celah Mengacaukan Panjang

# hanya dapat diandalkan untuk deret tanpa lubang. Sebuah celah dapat membuat hasilnya tidak terdefinisi.

Gunakan table.insert dan table.remove agar # tetap dapat dipercaya.

local good = {1, 2, 3}
print(#good)
table.insert(good, 4)
print(#good)

Mengurutkan di Tempat

table.sort(t) mengubah urutan deret secara langsung, secara bawaan dari yang terkecil ke yang terbesar.

Fungsi ini mengubah tabel asli, bukan mengembalikan tabel baru.

local nums = {3, 1, 2}
table.sort(nums)
print(nums[1], nums[2], nums[3])

Mengurutkan Teks

Teks diurutkan berdasarkan abjad secara bawaan, dengan membandingkan karakter demi karakter.

Setelah pengurutan, indeks 1 berisi elemen pertama dalam urutan tersebut.

local names = {"Cy", "Ann", "Bob"}
table.sort(names)
print(names[1], names[2], names[3])

Urutan Menurun

Berikan fungsi pembanding untuk mengatur urutan. Mengembalikan a > b akan mengurutkan dari yang terbesar terlebih dahulu.

Fungsi tersebut menentukan apakah a harus ditempatkan sebelum b.

local nums = {3, 1, 4, 2}
table.sort(nums, function(a, b)
  return a > b
end)
print(nums[1], nums[2], nums[3], nums[4])

Perbandingan Khusus

Pembanding memungkinkan Anda mengurutkan berdasarkan aturan apa pun, misalnya berdasarkan panjang teks, bukan abjad.

Di bawah ini, kata yang lebih pendek ditempatkan terlebih dahulu.

local words = {"hello", "hi", "howdy"}
table.sort(words, function(a, b)
  return #a < #b
end)
print(words[1], words[2], words[3])

Panjang dan Pengurutan

Gabungkan alat-alat ini: urutkan sebuah daftar, lalu baca elemen ujung berdasarkan posisi.

Setelah diurutkan menaik, nilai minimum berada pada indeks 1 dan nilai maksimum pada indeks #t.

local data = {7, 2, 9, 4}
table.sort(data)
print("min:", data[1])
print("max:", data[#data])

Urutkan Lalu Lakukan Iterasi

Alur pemrosesan yang umum: urutkan deret, lalu telusuri dengan ipairs untuk mencetaknya secara berurutan.

Pengurutan mengubah tabel yang sama, yang dimulai dari indeks 1, sehingga iterasi mengikuti urutan baru.

local scores = {50, 10, 30}
table.sort(scores)
for i, s in ipairs(scores) do
  print(i, s)
end

Pemeriksaan Singkat

Ingat kembali apa yang diberikan oleh operator panjang.

Ringkasan

Anda telah mempelajari bahwa #t menghitung elemen dalam deret tanpa celah, bahwa elemen terakhir berada pada t[#t], dan bahwa table.sort mengubah urutan secara langsung (menaik secara bawaan atau menggunakan pembanding khusus).

Bersama insert, remove, dan ipairs, kini Anda dapat mengelola deret Lua dengan percaya diri.

Gratis untuk memulai

Belajar Lua dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
40
Pelajaran
159

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Panjang dan Pengurutan” gratis?

Ya — teks lengkap “Panjang dan Pengurutan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Lua Academy, upgrade ke CoddyKit PRO. Kursus Lua Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Panjang dan Pengurutan”?

Hitung dan urutkan urutan. Kamu berlatih Lua Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Lua Academy?

Tidak diperlukan pengalaman sebelumnya. Lua Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Panjang dan Pengurutan” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Lua Academy ini?

Ya. Setiap pelajaran Lua Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Larik sebagai Tabel
  2. Menambah dan Menghapus Elemen
  3. Melakukan Iterasi dengan ipairs
  4. Panjang dan Pengurutan
← Kembali ke Lua Academy