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, AliceParameter 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.
Tantangan
MudahBerikan nilai default pada parameter opsional.
- Tulis
local function calculateTax(price: number, rate: number?): number. - Baris pertamanya adalah
rate = rate or 0.05; lalu kembalikanprice * rate. - Cetak
calculateTax(100)dancalculateTax(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
1Memulai dengan Luau
Apa Itu Luau?Mengapa Menggunakan Luau?Kode Luau PertamamuPemeriksaan Tipe dan Mode ErrorRangkuman: Pengenalan Luau4Bekerja dengan Fungsi
Mengetik Parameter dan Nilai KembalianMengetik Fungsi AnonimFungsi Tanpa Nilai KembalianParameter OpsionalNilai Parameter DefaultNilai Default untuk BooleanFungsi VariadikMendefinisikan Tipe FungsiUlasan: Fungsi Bertipe2Tipe Inti
Number, String, dan BooleanTipe 'any': Jalan KeluarTipe 'unknown'Nil dan 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 & map
Array BertipeMenambahkan dan Membaca ElemenApa Itu Tipe Map?Mendeklarasikan dan Mengakses MapMenelusuri TabelTabel dengan Bentuk CampuranMembaca GridMembuat Gridtable.unpackRangkuman: array dan mapLatihan sendiri: Compiler Luau online