Anotasi Bentuk Secara Inline
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 39 dari 80.
Di Lua, kamu sudah lama menggunakan tabel sebagai record: local user = {name = "Ana", age = 20}. Tidak ada yang mencegahmu salah mengeja nama field, melupakan salah satunya, atau menyimpan string di tempat yang seharusnya berisi angka. Kamu baru mengetahuinya saat kode dijalankan.
Luau memungkinkanmu menjelaskan bentuk tabel seperti itu langsung dalam deklarasi, dengan mencantumkan setiap field dan tipenya di antara kurung kurawal:
local user: {name: string, age: number} = {
name = "Ana",
age = 20,
}Bandingkan ini dengan tipe tabel yang sudah kamu ketahui: {number} menjelaskan array dan {[string]: number} menjelaskan map dengan kunci string apa pun. Bentuk lebih spesifik. Bentuk menamai setiap field secara tersendiri dan memberikan tipe masing-masing pada setiap field.
Setelah bentuk dideklarasikan, pemeriksa tipe memeriksa tabel berdasarkan bentuk itu saat kamu mengedit. Field yang hilang atau tipe nilai yang salah akan ditandai sebelum kode dijalankan:
local user: {name: string, age: number} = {
name = "Ana",
age = "twenty", -- ✗ error tipe data: string bukan angka
}Seperti biasa, anotasi tidak menambahkan perilaku saat runtime: tabel itu tetap tabel Lua biasa. Bentuk inline cocok untuk struktur sekali pakai yang tidak ingin kamu gunakan kembali. Di pelajaran berikutnya, kamu akan memberi nama pada bentuk.
Tantangan
MudahDeskripsikan catatan siswa langsung dalam deklarasinya.
- Deklarasikan
local student: {name: string, studentId: number} = {name = "Sarah Johnson", studentId = 12345}. - Cetak
student.name, lalustudent.studentId.
Tekan Run Code: output menampilkan Sarah Johnson dan 12345.
Coba sendiri
-- 1) deklarasikan student dengan anotasi bentuk langsung
-- 2) tampilkan name miliknya, lalu studentId miliknya
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 map6Pengetikan Bentuk Tabel
Anotasi Bentuk Secara InlineAlias Tipe untuk BentukProperty OpsionalBentuk vs. Tabel LonggarMemperluas BentukMenambahkan method ke BentukMethod self dan Method Titik DuaUlasan: Mendefinisikan Bentuk TabelLatihan sendiri: Compiler Luau online