Menu
CoddyTech

Nilai Parameter Default

Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 27 dari 80.

Parameter opsional membuatmu harus menangani nil. Sering kali yang sebenarnya kamu inginkan adalah nilai pengganti: "jika pemanggil tidak menyebutkan, anggap nilainya X". Luau tidak memiliki sintaks nilai bawaan pada tanda tangan fungsi (tidak ada greeting: string = "Hello"); sebagai gantinya, kamu menggunakan idiom Lua klasik, kini dengan tipe:

function greet(name: string, greeting: string?): string
    greeting = greeting or "Hello"
    return `{greeting}, {name}`
end

print(greet("Alice"))            -- Hello, Alice
print(greet("Alice", "Howdy"))   -- Howdy, Alice

Parameter tersebut diberi anotasi opsional (string?), dan baris pertama isi fungsi mengganti nil dengan nilai bawaan. Ini berfungsi karena nil bersifat falsy: nil or "Hello" menghasilkan "Hello". Setelah baris itu, pemeriksa mengetahui bahwa greeting tidak mungkin lagi bernilai nil.

challenge icon

Tantangan

Mudah

Berikan nilai default pada parameter opsional.

  1. Tulis local function calculateTax(price: number, rate: number?): number.
  2. Baris pertamanya adalah rate = rate or 0.05; lalu kembalikan price * rate.
  3. Cetak calculateTax(100) dan calculateTax(200, 0.08).

Tekan Jalankan Kode: output menampilkan 5, lalu 16.

Coba sendiri

-- 1) calculateTax(price: number, rate: number?): number
--    tetapkan nilai bawaan rate ke 0.05 dengan pola `or`
-- 2) cetak calculateTax(100) dan calculateTax(200, 0.08)

Semua pelajaran di Pengantar Luau

Latihan sendiri: Compiler Luau online