Mendeklarasikan dan Mengakses Map
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 16 dari 73.
Mendeklarasikan map bertipe mirip dengan konstruktor tabel yang selalu kamu tulis: anotasinya hanya menetapkan tipe kunci dan nilainya:
local stock: {[string]: number} = {apples = 12, bananas = 5}Membaca dan menulis menggunakan pengindeksan yang sudah kamu kenal. Untuk kunci yang merupakan identifier valid, stock.apples dan stock["apples"] mengakses entri yang sama; bentuk tanda kurung siku juga menangani kunci yang berisi spasi atau disimpan dalam variabel:
stock["cherries"] = 20 -- tambahkan entri baru
stock.bananas = 8 -- perbarui entri yang sudah ada
print(stock["apples"]) -- 12
print(stock["plums"]) -- nil, belum pernah diaturPemeriksa tipe memeriksa setiap penulisan: stock["apples"] = "many" ditandai karena "many" bukan angka, dan penggunaan angka sebagai kunci juga ditandai karena kunci harus berupa string.
Untuk menghapus entri, tetapkan nil ke kuncinya: stock["bananas"] = nil menghapusnya sepenuhnya, dan pembacaan berikutnya menghasilkan nil. Tidak ada fungsi delete terpisah; ini adalah idiom standar Lua, dan tetap lolos pemeriksaan tipe pada map.
Tantangan
MudahBuat map bertipe stock: {[string]: number} yang diinisialisasi dengan apples = 12 dan bananas = 5. Lalu:
- tambahkan entri baru
cherriesdengan nilai20 - perbarui
bananasmenjadi8
Terakhir, cetak masing-masing pada baris tersendiri:
- stok
apples - stok
bananas - stok
cherries - stok
plums: sebuah kunci yang tidak pernah kamu tetapkan
Coba sendiri
-- Tulis kodemu di sini
-- 1) deklarasikan stock: {[string]: number} dengan apples = 12, bananas = 5
-- 2) tambahkan cherries = 20, perbarui bananas menjadi 8
-- 3) cetak apples, bananas, cherries, lalu plums
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pengantar Luau
1Memulai dengan Luau
Apa Itu Luau?Mengapa Menggunakan Luau?Kode Luau PertamamuPemeriksaan Tipe dan Mode ErrorRangkuman: Pengenalan Luau4Bekerja dengan Fungsi
Menentukan Tipe Parameter dan Nilai KembalianMenentukan Tipe Fungsi AnonimFungsi yang Tidak Mengembalikan NilaiParameter OpsionalNilai Default ParameterFungsi VariadikMendefinisikan Tipe FungsiRangkuman: Fungsi Bertipe2Tipe Inti
Tipe Dasar: num, str, boolTipe 'any': Jalan Keluar DaruratTipe 'unknown'Nil & Tipe OpsionalInferensi Tipe dalam PraktikAnotasi Tipe EksplisitUlasan: Latihan Tipe Inti5Alias, Union, dan Intersection
Alias Tipe untuk Tipe PrimitifTipe UnionMenggunakan Tipe UnionTipe LiteralTipe IntersectionMenggabungkan Alias TipeRekap: Kombinasi Tipe Lanjutan3Tabel Bertipe: array dan Map
array BertipeMenambahkan dan Membaca ElemenApa Itu Tipe Map?Mendeklarasikan dan Mengakses MapMelakukan Iterasi pada TabelTabel dengan Bentuk Campuranarray Bertipe Multidimensitable.unpack dan VarargsRingkasan: array dan MapLatihan sendiri: Compiler Luau online