Iterasi dengan pairs()
Termasuk bagian Logika dan Alur dalam perjalanan Lua di Coddy. Pelajaran 1 dari 54.
pairs() memungkinkan hal ini dengan membantumu menelusuri semua entri dalam tabel, apa pun tipe datanya.Sintaks untuk menggunakan pairs() dalam for loop terlihat seperti ini:for key, value in pairs(myTable) do
-- gunakan key dan value di sini
endpairs() menyediakan key dan nilai yang sesuai. Artinya, kamu dapat mengakses dan menggunakan kedua informasi tersebut secara bersamaan.Berikut contoh praktis dengan inventaris pemain:local inventory = {
sword = 1,
potion = 5,
gold = 150
}
for item, quantity in pairs(inventory) do
print(item .. ": " .. quantity)
endpairs() dapat digunakan dengan tipe kunci apa pun, termasuk string, angka, atau bahkan tabel lain.Bekerja dengan StringDalam Lua, kamu dapat menggabungkan string menggunakan operator penggabungan, yaitu dua titik (..). Contohnya, "Hello" .. " " .. "World" menghasilkan "Hello World".Jika kamu perlu memformat teks dalam beberapa baris, kamu bisa menggunakan karakter escape baris baru, "\n". Saat Lua menemukan "\n" di dalam string, Lua menganggapnya sebagai perintah untuk berpindah ke baris berikutnya.Misalnya, print("Line 1\nLine 2") akan menghasilkan:
FORMAT OUTPUT YANG DIWAJIBKAN:
[Konten yang diterjemahkan di sini]Line 1
Line 2Tantangan
MudahTulis fungsi printInventory yang menerima tabel inventory dan mengembalikan string berformat yang mencantumkan semua item beserta jumlahnya.
Gunakan pairs() untuk melakukan perulangan melalui tabel inventory dan menyusun string dengan setiap baris menampilkan nama item diikuti jumlahnya dalam format item: quantity. Setiap item harus berada di baris terpisah.
Untuk menempatkan setiap item di baris tersendiri, gunakan karakter baris baru "\n" di antara entri. Contohnya, "apple: 5\nbanana: 3" akan ditampilkan sebagai dua baris terpisah. Hati-hati agar tidak menambahkan "\n" di awal sebelum item pertama: tambahkan hanya di antara item.
Parameter:
inventory(table): Tabel bergaya dictionary dengan key berupa nama item (string) dan nilai berupa jumlah (angka)
Mengembalikan: String dengan setiap item dan jumlahnya pada baris terpisah, dipisahkan oleh "\n". Contoh output untuk {apple=5, banana=3}:apple: 5banana: 3
Coba sendiri
function printInventory(inventory)
-- Untuk memformat output, kamu bisa menggabungkan string menggunakan operator '..'.
-- Untuk menambahkan baris baru, gunakan karakter khusus '\n'.
-- Kamu mungkin perlu melacak apakah kamu sedang menambahkan item pertama atau item berikutnya
-- untuk menentukan apakah perlu menambahkan baris baru sebelum item tersebut.
-- Tulis kode di sini
endPelajaran 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