Rangkuman: Fungsi Generic
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 62 dari 73.
Tantangan
SedangGabungkan alias generik dan fungsi generik dalam satu program.
Tentukan alias tipe generik bernama Pair dengan dua parameter tipe T dan U, yang menjelaskan sebuah tabel dengan:
firstbertipeTsecondbertipeU
Buat fungsi generik bernama makePair yang mendeklarasikan T dan U, menerima first: T dan second: U, lalu mengembalikan keduanya yang dikemas dalam Pair<T, U>.
Buat fungsi generik bernama describePair yang mendeklarasikan T dan U, menerima pair: Pair<T, U>, lalu mengembalikan string ({first}, {second}) yang dibuat dengan interpolasi string (tipe pengembalian string).
Selanjutnya:
- buat
playerScorebertipePair<string, number>dengan memanggilmakePair("<code>Nova", 87) - buat
levelDonebertipePair<number, boolean>dengan memanggilmakePair(3, true) - cetak
playerScore.first - cetak
playerScore.second - cetak
describePair(playerScore) - cetak
describePair(levelDone) - cetak
describePair(makePair("Luau", 2026))dalam satu baris
Coba sendiri
-- Tulis kodemu di sini
-- 1) definisikan tipe Pair<T, U> = {first: T, second: U}
-- 2) definisikan makePair<T, U>(first: T, second: U): Pair<T, U>
-- 3) definisikan describePair<T, U>(pair: Pair<T, U>): string
-- yang mengembalikan `({pair.first}, {pair.second})`
-- 4) buat playerScore (teks persis dari instruksi, 87) dan levelDone (3, true),
-- lalu cetak lima baris yang diminta
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 Tabel9Generics: Pengenalan Awal
Masalah yang Diatasi GenericsFungsi Identitas GenericMenggunakan Fungsi GenericArray GenericAlias Tipe GenericRangkuman: Fungsi GenericLatihan sendiri: Compiler Luau online