Nilai Default untuk Boolean
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 28 dari 80.
Ada satu hal yang perlu diingat dari Lua: or juga menggantikan false. Untuk parameter boolean? yang nilai bawaannya seharusnya true, flag = flag or true mengubah false yang diberikan secara eksplisit menjadi true, karena false or true adalah true:
local function sendAlert(message: string, loud: boolean?)
loud = loud or true -- sendAlert("Hi", false) tetap mendapat true
print(message, loud)
endGunakan pemeriksaan nil yang eksplisit. Cara ini mengisi nilai bawaan hanya jika argumennya tidak diberikan:
local function sendAlert(message: string, loud: boolean?)
if loud == nil then
loud = true
end
print(message, loud)
end
sendAlert("Hi") -- Hi true
sendAlert("Hi", false) -- Hi falseUntuk string dan angka, or aman digunakan, karena hanya nil dan false yang bernilai falsy.
Tantangan
MudahBeri parameter boolean nilai default true yang tidak bisa dibatalkan oleh false.
- Tulis
local function shippingCost(weight: number, insured: boolean?): number. - Awali dengan
if insured == nil then insured = true end. - Kembalikan
weight * 0.5 + 2saatinsuredbernilai true, jika tidak, kembalikanweight * 0.5. - Cetak
shippingCost(4)danshippingCost(4, false).
Tekan Jalankan Kode: output diakhiri dengan 4 dan 2.
Coba sendiri
-- Nilai bawaan menggunakan idiom `or`
local function calculateTax(price: number, rate: number?): number
rate = rate or 0.05
return price * rate
end
print(calculateTax(100))
print(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