Fungsi yang Tidak Mengembalikan Nilai
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 24 dari 73.
Banyak fungsi tidak menghitung nilai. Fungsi-fungsi itu melakukan sesuatu: mencetak pesan, memperbarui tabel, menyimpan state. Di Luau, kamu dapat memberi anotasi bahwa fungsi tidak mengembalikan apa pun dengan tipe pengembalian kosong ():
function logMessage(message: string): ()
print(message)
end
local counter = 0
function incrementCounter(): ()
counter += 1
endJika kamu pernah menggunakan TypeScript, () berperan seperti void, tetapi penulisannya di Luau adalah sepasang tanda kurung kosong, yang secara harfiah berarti "nol nilai pengembalian".
Anotasi ini opsional: hilangkan saja dan Luau akan menyimpulkan bahwa fungsi tersebut tidak mengembalikan apa pun. Menulis : () secara eksplisit mendokumentasikan maksudmu: siapa pun yang membaca signature-nya tahu bahwa fungsi ini dipanggil untuk efek samping, bukan untuk hasilnya.
Saat runtime, tidak ada yang berubah (seperti biasanya): fungsi tanpa nilai return hanya menghasilkan nil jika kamu mencoba menangkap hasilnya, sama seperti Lua biasa.
Tantangan
MudahBuat fungsi bernama displayWelcome yang menerima userName: string dan memiliki tipe pengembalian eksplisit (). Fungsi ini harus mencetak: "Welcome to our application, [userName]!"
Buat fungsi bernama logError yang menerima errorMessage: string dengan tipe pengembalian (). Fungsi ini harus mencetak: "ERROR: [errorMessage]"
Buat fungsi bernama processData yang tidak menerima parameter, dengan tipe pengembalian (). Fungsi ini harus mencetak "Processing data...", lalu mencetak "Data processing complete." di baris berikutnya.
Panggil fungsi-fungsi tersebut dalam urutan ini:
displayWelcome("Alice")processData()logError("Invalid input detected")displayWelcome("Bob")
Coba sendiri
-- Tulis kodemu di sini
-- displayWelcome(userName: string): ()
-- logError(errorMessage: string): ()
-- processData(): ()
-- lalu panggil: displayWelcome("Alice"), processData(),
-- logError("Invalid input detected"), displayWelcome("Bob")
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