Anotasi Bentuk Secara Inline
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 37 dari 73.
Di Lua, kamu sudah lama menggunakan tabel sebagai record: local user = {name = "Ana", age = 20}. Tidak ada yang mencegahmu salah mengeja field, melupakannya, atau menyimpan string di tempat yang seharusnya berisi angka. Kamu baru mengetahuinya saat kodemu dijalankan.
Luau memungkinkanmu menjelaskan bentuk tabel seperti itu langsung dalam deklarasi, dengan mencantumkan setiap field dan tipe datanya di antara kurung kurawal:
local user: {name: string, age: number} = {
name = "Ana",
age = 20,
}Bandingkan dengan tipe tabel yang sudah kamu kenal: {number} menjelaskan array dan {[string]: number} menjelaskan map dengan sembarang kunci string. Bentuk lebih spesifik. Bentuk menyebutkan setiap field satu per satu dan memberi tiap field tipe datanya sendiri.
Setelah bentuknya dideklarasikan, pemeriksa tipe memverifikasi tabel berdasarkan bentuk tersebut saat kamu mengedit. Field yang hilang atau tipe nilai yang salah akan ditandai sebelum kodemu 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 tersebut adalah 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
MudahBuat variabel bernama student dengan anotasi bentuk inline yang menyatakan:
namebertipestringstudentIdbertipenumberisEnrolledbertipeboolean
Inisialisasi dengan name "Sarah Johnson", studentId 12345, dan isEnrolled true.
Buat variabel kedua bernama course dengan anotasi bentuk inline yang menyatakan:
titlebertipestringcreditsbertipenumberinstructorbertipestring
Inisialisasi dengan title "Introduction to Luau", credits 3, dan instructor "Dr. Smith".
Cetak, masing-masing pada baris tersendiri:
- nama student
- ID student
- judul course
- jumlah credits
Coba sendiri
-- Tulis kodemu di sini
-- 1) deklarasikan student dengan anotasi bentuk langsung
-- 2) deklarasikan course dengan anotasi bentuk langsung
-- 3) cetak empat field yang diminta
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 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