Mendeklarasikan dan Mengakses Map
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 16 dari 80.
Mendeklarasikan map bertipe terlihat seperti konstruktor tabel yang selalu kamu tulis: anotasi 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 pengenal valid, stock.apples dan stock["apples"] mengakses entri yang sama; bentuk tanda kurung siku juga menangani kunci yang memiliki 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 sebuah entri, tetapkan nil ke kuncinya: stock["bananas"] = nil menghapusnya sepenuhnya, dan pembacaan berikutnya menghasilkan nil. Tidak ada fungsi penghapusan terpisah; ini adalah idiom Lua standar, dan tetap lolos pemeriksaan tipe pada map.
Tantangan
MudahSimpan stok perlengkapan sekolah dalam map bertipe.
- Deklarasikan
local stock: {[string]: number} = {pens = 40, rulers = 15}. - Tambahkan
stock["erasers"] = 25dan ubahrulersmenjadi10. - Cetak stok
pens,rulers,erasers, danglue, masing-masing pada satu baris.
Tekan Jalankan: output menampilkan 40, 10, 25, dan nil.
Coba sendiri
-- 1) deklarasikan stock: {[string]: number} dengan pens = 40, rulers = 15
-- 2) tambahkan erasers = 25, ubah rulers menjadi 10
-- 3) cetak pens, rulers, erasers, lalu glue
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
Mengetik Parameter dan Nilai KembalianMengetik Fungsi AnonimFungsi Tanpa Nilai KembalianParameter OpsionalNilai Parameter DefaultNilai Default untuk BooleanFungsi VariadikMendefinisikan Tipe FungsiUlasan: Fungsi Bertipe2Tipe Inti
Number, String, dan BooleanTipe 'any': Jalan KeluarTipe 'unknown'Nil dan 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 & map
Array BertipeMenambahkan dan Membaca ElemenApa Itu Tipe Map?Mendeklarasikan dan Mengakses MapMenelusuri TabelTabel dengan Bentuk CampuranMembaca GridMembuat Gridtable.unpackRangkuman: array dan mapLatihan sendiri: Compiler Luau online