Menu
CoddyTech

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
end

Jika 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.

challenge icon

Tantangan

Mudah

Buat 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:

  1. displayWelcome("Alice")
  2. processData()
  3. logError("Invalid input detected")
  4. 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")
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pengantar Luau

Latihan sendiri: Compiler Luau online