0Pricing
Lua Academy · Pelajaran

Melakukan Iterasi dengan ipairs

Ulangi urutan sesuai urutan.

Melakukan Iterasi dengan ipairs adalah pelajaran Lua Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.

Mengapa ipairs

Menelusuri urutan berdasarkan indeks dapat dilakukan, tetapi ipairs lebih rapi dan aman. Fungsi ini memberikan setiap indeks dan nilai kepada Anda sesuai urutan.

Fungsi ini dimulai dari indeks 1 dan berhenti pada nil pertama, sehingga cocok untuk urutan tanpa celah.

local fruits = {"apple", "banana", "cherry"}
for i, v in ipairs(fruits) do
  print(i, v)
end

Bentuk Perulangan

Polanya adalah for index, value in ipairs(t) do ... end.

Pada setiap iterasi, index adalah posisi berbasis 1 dan value adalah elemen pada posisi tersebut. Anda tidak memerlukan penghitung manual.

local colors = {"red", "green", "blue"}
for i, c in ipairs(colors) do
  print("Color", i, "is", c)
end

Mengabaikan Indeks

Jika Anda hanya memerlukan nilainya, secara konvensi beri nama indeks _ untuk menunjukkan bahwa indeks tersebut tidak digunakan.

Perulangan tetap mengunjungi elemen dalam urutan berbasis 1.

local nums = {10, 20, 30}
local total = 0
for _, n in ipairs(nums) do
  total = total + n
end
print("sum:", total)

Dimulai dari 1, Berhenti pada Celah

ipairs dimulai dari indeks 1 dan terus berjalan selama indeks berikutnya tidak bernilai nil.

Jika ada celah, fungsi ini berhenti di sana. Jadi, ipairs digunakan untuk urutan rapi, bukan tabel dengan posisi yang hilang.

local t = {"a", "b", nil, "d"}
for i, v in ipairs(t) do
  print(i, v)
end

Menjumlahkan Nilai

Tugas yang sering dilakukan adalah meringkas daftar menjadi satu bilangan, seperti jumlah atau max.

ipairs membuatnya mudah dibaca: kunjungi setiap nilai dan akumulasikan.

local prices = {3, 7, 2, 9}
local max = prices[1]
for _, p in ipairs(prices) do
  if p > max then max = p end
end
print("max:", max)

Membangun Daftar Baru

Gabungkan ipairs dengan table.insert untuk mengubah satu urutan menjadi urutan lain.

Di sini, kita menggandakan setiap bilangan ke dalam tabel baru, dengan mempertahankan urutan dan indeks berbasis 1.

local src = {1, 2, 3}
local doubled = {}
for _, n in ipairs(src) do
  table.insert(doubled, n * 2)
end
print(doubled[1], doubled[2], doubled[3])

ipairs dibandingkan dengan pairs

pairs mengunjungi setiap kunci, termasuk kunci teks, tanpa urutan yang dijamin. ipairs hanya mengunjungi deret bilangan bulat 1, 2, 3... secara berurutan.

Untuk larik yang berurutan, gunakan ipairs.

local t = {"x", "y"}
t.name = "extra"
for i, v in ipairs(t) do
  print(i, v)
end

Menyaring dengan Kondisi

Gunakan if di dalam perulangan untuk mempertahankan hanya elemen yang cocok.

Di bawah ini, kami mengumpulkan kata yang panjangnya lebih dari tiga huruf ke dalam deret baru.

local words = {"hi", "hello", "yo", "howdy"}
local long = {}
for _, w in ipairs(words) do
  if #w > 3 then table.insert(long, w) end
end
print(long[1], long[2])

Menemukan Elemen

Untuk mencari, lakukan perulangan dengan ipairs dan berhenti setelah menemukannya. Indeks menunjukkan posisi yang dimulai dari 1.

Kami keluar lebih awal menggunakan break setelah sasaran ditemukan.

local names = {"Ann", "Bob", "Cy"}
local found = 0
for i, n in ipairs(names) do
  if n == "Bob" then found = i break end
end
print("Bob at index", found)

Menghitung Saat Melakukan Iterasi

Anda dapat menghitung kecocokan dengan menambah nilai sebuah variabel di dalam perulangan.

Dengan begitu, Anda tidak perlu mengakses indeks secara langsung, tetapi tetap memindai seluruh deret.

local marks = {5, 8, 3, 9, 6}
local passes = 0
for _, m in ipairs(marks) do
  if m >= 6 then passes = passes + 1 end
end
print("passing:", passes)

ipairs Bersarang

Untuk tabel yang berisi tabel, susun dua perulangan ipairs untuk mengunjungi setiap sel.

Perulangan luar menelusuri baris, sedangkan perulangan dalam menelusuri kolom; keduanya dimulai dari indeks 1.

local grid = {{1, 2}, {3, 4}}
for _, row in ipairs(grid) do
  for _, cell in ipairs(row) do
    print(cell)
  end
end

Pemeriksaan Singkat

Ingat kembali dari mana ipairs dimulai dan di mana berakhir.

Ringkasan

Anda telah mempelajari pola for i, v in ipairs(t): pola ini mengunjungi sebuah deret dalam urutan yang dimulai dari 1 dan berhenti pada celah pertama.

Gunakan pola ini untuk menjumlahkan, menyaring, mencari, dan mengubah daftar. Berikutnya, Anda akan mengukur panjang dengan # dan mengurutkan elemen dengan table.sort.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Melakukan Iterasi dengan ipairs” gratis?

Ya — teks lengkap “Melakukan Iterasi dengan ipairs” 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 “Melakukan Iterasi dengan ipairs”?

Ulangi urutan sesuai 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 3 dari 4.

Berapa lama pelajaran “Melakukan Iterasi dengan ipairs” 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