pairs() vs. ipairs()
Termasuk bagian Logika dan Alur dalam perjalanan Lua di Coddy. Pelajaran 3 dari 54.
Setelah kamu mempelajari pairs() dan ipairs(), penting untuk memahami kapan harus menggunakan masing-masing. Pilihan sepenuhnya bergantung pada struktur tabelmu dan hal yang ingin kamu capai.
Gunakan ipairs() saat kamu memiliki tabel bergaya list dengan kunci bilangan bulat berurutan yang dimulai dari 1. Fungsi ini memproses elemen secara berurutan dan berhenti pada nilai nil pertama, sehingga cocok untuk array yang urutannya penting.
Gunakan pairs() saat tabelmu memiliki kunci string, tipe kunci yang beragam, atau saat kamu perlu mengakses semua entri tanpa memedulikan adanya celah. Fungsi ini melakukan iterasi pada setiap pasangan kunci-nilai dalam tabel tanpa urutan tertentu.
Perhatikan tabel campuran ini:
local gameData = {
"Level 1",
"Level 2",
"Level 3",
currentLevel = 2,
playerName = "Hero"
}Jika kamu menggunakan ipairs(), kamu hanya akan melihat tiga string level. Jika kamu menggunakan pairs(), kamu akan melihat kelima entri, termasuk key string.
Tantangan
MudahTulis fungsi countSequentialItems yang menerima tabel data dan mengembalikan jumlah item berurutan dengan kunci integer.
Gunakan ipairs() untuk menghitung jumlah item yang ada di bagian tabel yang berurutan, mulai dari indeks 1 hingga nil pertama. Ini akan membantumu memahami perbedaan antara ipairs() dan pairs() saat menggunakan tabel campuran.
Parameter:
data(table): Tabel campuran yang berisi kunci integer berurutan dan kunci string
Mengembalikan: Jumlah item berurutan (angka)
Coba sendiri
function countSequentialItems(data)
-- Tulis kodemu di sini
end
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Iterasi Tabel Tingkat Lanjut
Iterasi dengan pairs()Iterasi dengan ipairs()pairs() vs. ipairs()Rangkuman: Lembar Karakter2Fungsi library tabel Lainnya
table.concat()Pembuatan tabel & unpack()table.sort()Pengurutan Kustom dengan FungsiRangkuman, Papan Skor TertinggiLatihan sendiri: Compiler Lua online