Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah

Tulis 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
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Lua online