Mengulang dengan ipairs
Ulangi jujukan mengikut tertib.
Mengulang dengan ipairs ialah pelajaran Lua Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Lua Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Lua Academy merangkumi sejumlah 4 pelajaran.
Mengapa ipairs
Berjalan melalui jujukan mengikut indeks memang boleh dilakukan, tetapi ipairs lebih kemas dan selamat. Ia memberikan setiap indeks dan nilai mengikut susunan.
Ia bermula pada indeks 1 dan berhenti pada nil pertama, menjadikannya sesuai untuk jujukan tanpa jurang.
local fruits = {"apple", "banana", "cherry"}
for i, v in ipairs(fruits) do
print(i, v)
endBentuk Gelung
Coraknya ialah for index, value in ipairs(t) do ... end.
Pada setiap lelaran, index ialah kedudukan yang bermula pada 1 dan value ialah elemen pada kedudukan tersebut. Tiada pembilang manual diperlukan.
local colors = {"red", "green", "blue"}
for i, c in ipairs(colors) do
print("Color", i, "is", c)
endMengabaikan Indeks
Jika Anda hanya memerlukan nilai, namakan indeks sebagai _ mengikut kebiasaan untuk menunjukkan bahawa indeks itu tidak digunakan.
Gelung tersebut masih melawati item mengikut susunan yang bermula pada 1.
local nums = {10, 20, 30}
local total = 0
for _, n in ipairs(nums) do
total = total + n
end
print("sum:", total)Bermula pada 1, Berhenti di Jurang
ipairs bermula pada indeks 1 dan terus berjalan selagi indeks seterusnya bukan nil.
Jika terdapat jurang, ia berhenti di situ. Oleh itu, ipairs sesuai untuk jujukan yang kemas, bukan jadual dengan kedudukan yang hilang.
local t = {"a", "b", nil, "d"}
for i, v in ipairs(t) do
print(i, v)
endMenjumlahkan Nilai
Tugas yang kerap dilakukan ialah meringkaskan senarai menjadi satu nombor, seperti jumlah atau nilai maksimum.
ipairs menjadikan tugas ini mudah dibaca: lawati setiap nilai dan kumpulkan hasilnya.
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)Membina Senarai Baharu
Gabungkan ipairs dengan table.insert untuk mengubah satu jujukan menjadi jujukan yang lain.
Di sini, kami menggandakan setiap nombor ke dalam jadual baharu sambil mengekalkan susunan dan indeks yang bermula pada 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 berbanding pairs
pairs melawati setiap kunci, termasuk kunci rentetan, tanpa susunan yang dijamin. ipairs hanya melawati jujukan integer 1, 2, 3... mengikut susunan.
Untuk tatasusunan yang tersusun, gunakan ipairs.
local t = {"x", "y"}
t.name = "extra"
for i, v in ipairs(t) do
print(i, v)
endPenapisan dengan Syarat
Gunakan if di dalam gelung untuk mengekalkan hanya item yang sepadan.
Di bawah, kita mengumpulkan perkataan yang lebih panjang daripada tiga huruf ke dalam jujukan baharu.
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])Mencari Item
Untuk mencari, lakukan gelung dengan ipairs dan berhenti apabila item ditemui. Indeks memberitahu kedudukan berasaskan 1.
Kita keluar lebih awal menggunakan break sebaik sahaja sasaran ditemui.
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)Mengira Semasa Mengiterasi
Anda boleh mengira padanan dengan menokok nilai pemboleh ubah di dalam gelung.
Cara ini mengelakkan anda daripada menyentuh indeks secara langsung sambil tetap mengimbas seluruh jujukan.
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 jadual yang mengandungi jadual, susun dua gelung ipairs secara bersarang untuk melawati setiap sel.
Gelung luar melalui baris, manakala gelung dalam melalui lajur; kedua-duanya berasaskan 1.
local grid = {{1, 2}, {3, 4}}
for _, row in ipairs(grid) do
for _, cell in ipairs(row) do
print(cell)
end
endSemakan Pantas
Ingat semula di mana ipairs bermula dan berakhir.
Imbas Kembali
Anda telah mempelajari corak for i, v in ipairs(t): corak ini melawati jujukan mengikut susunan berasaskan 1 dan berhenti pada jurang pertama.
Gunakannya untuk menjumlahkan, menapis, mencari dan mengubah senarai. Seterusnya, anda akan mengukur panjang dengan # dan menyusun item dengan table.sort.
Pelajari Lua dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 40
- Pelajaran
- 159
Soalan Lazim
Adakah pelajaran “Mengulang dengan ipairs” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Lua Academy, termasuk “Mengulang dengan ipairs”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Lua Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Mengulang dengan ipairs”?
Ulangi jujukan mengikut tertib. Anda berlatih Lua Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Lua Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Lua Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Mengulang dengan ipairs” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Lua Academy ini?
Ya. Setiap pelajaran Lua Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Tatasusunan sebagai Jadual
- Menambah dan Membuang Item
- Mengulang dengan ipairs
- Panjang dan Pengisihan