Tipe Union
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 31 dari 73.
Terkadang satu tipe saja tidak cukup. ID pengguna mungkin muncul sebagai "user123" atau sebagai 42. Dalam Lua biasa, kamu hanya bisa berharap yang terbaik; Luau memberimu tipe union: pipa | dibaca sebagai "atau":
local userId: number | string
userId = "user123" -- ✓ string diperbolehkan
userId = 42 -- ✓ angka diperbolehkan
userId = true -- ✗ error tipe: boolean tidak termasuk dalam unionVariabel itu bisa menyimpan salah satu anggota union, dan hanya anggota tersebut. Inilah perbedaan pentingnya dari any: union tetap ketat tentang apa yang diizinkan sambil memberimu fleksibilitas yang kamu butuhkan.
Union sangat berguna untuk parameter fungsi yang menerima beberapa format input:
function printId(id: number | string): ()
print(id)
end
printId(42) -- berfungsi dengan angka
printId("user123") -- berfungsi dengan stringKamu sudah mengenal string?. Itulah union pertamamu! Bentuk ini hanyalah singkatan untuk string | nil. Di pelajaran berikutnya, kamu akan belajar cara bekerja dengan aman dengan nilai union setelah memilikinya.
Tantangan
MudahBuat fungsi bernama printId yang menerima id: number | string dan mencetaknya: tipe pengembalian eksplisit ().
Deklarasikan variabel status bertipe string | number, dengan nilai awal "<code>active".
Lalu, secara berurutan:
- Panggil
printId(42) - Panggil
printId("<code>user123") - Cetak
status - Ubah nilai
statusmenjadi200dan cetak lagi
Total ada empat baris output.
Coba sendiri
-- Tulis kodemu di sini
-- printId(id: number | string): ()
-- local status: string | number = teks persis dari instruksi
-- Panggil printId(42), printId(teks persis dari instruksi),
-- Cetak status, ubah nilainya menjadi 200, lalu cetak lagi
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