Tabel dengan Bentuk Campuran
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 18 dari 80.
Array menyimpan banyak nilai dengan tipe yang sama, sedangkan map menyimpan satu tipe kunci dan satu tipe nilai. Namun, tabel Lua yang paling sering kamu gunakan mencampur tipe di dalam field bernama: pemain dengan nama string, skor number, dan flag boolean. Luau memberi tipe pada ini dengan bentuk: tipe tabel yang mencantumkan setiap field beserta tipenya sendiri.
type Point = {x: number, y: number}
local origin: Point = {x = 0, y = 0}
print(origin.x)Kata kunci type membuat alias tipe: nama yang dapat digunakan kembali untuk bentuk tersebut. Alias ini hanya ada untuk pemeriksa tipe: tidak ada nilai saat runtime bernama Point yang dibuat. Setiap field dapat memiliki tipe yang berbeda:
type Player = {name: string, score: number, active: boolean}
local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)Setelah bentuknya dideklarasikan, pemeriksa tipe mengetahui bahwa player.score adalah number dan menandai kesalahan sejak awal: salah ketik seperti player.scroe (field itu tidak ada), atau menetapkan player.score = "high" (tipe tidak cocok). Ini baru pengenalan awal: bab selanjutnya membahas bentuk, field opsional, dan method dengan lebih mendalam.
Tantangan
MudahDeskripsikan seorang pemain dengan tipe bentuk.
- Tulis
type Player = {name: string, score: number, active: boolean}. - Buat
local player: Player = {name = "Kai", score = 900, active = false}. - Cetak
player.active, lalu`{player.name} has {player.score} points`.
Tekan Jalankan Kode: output menampilkan false dan Kai has 900 points.
Coba sendiri
-- 1) type Player = {...}
-- 2) local player: Player = {...}
-- 3) cetak flag active, lalu baris ringkasan
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