Fungsi untuk Mengubah Status Tugas
Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 47 dari 73.
Tantangan
MudahEditor kamu sudah berisi tipe Task, array tasks, dan addTask dari pelajaran sebelumnya.
Buat fungsi bernama completeTask yang menerima dua parameter:
listbertipe{Task}idbertipenumber
Fungsi tersebut harus:
- melakukan perulangan pada
listdenganipairsuntuk mencari task yangid-nya cocok - jika ditemukan, tetapkan
donetask tersebut ketruedan kembalikantrue - jika tidak ada task yang cocok, kembalikan
false(tipe kembalianboolean)
Lalu cetak, masing-masing pada baris tersendiri:
- flag
donetask pertama (sebelum) - hasil dari
completeTask(tasks, 1) - flag
donetask pertama (sesudah) - hasil dari
completeTask(tasks, 99)
Coba sendiri
-- The shape every task in the manager must follow
type Task = {
id: number,
title: string,
done: boolean,
}
-- The task list: a typed array of Task shapes
local tasks: {Task} = {
{id = 1, title = "Learn Luau types", done = false},
{id = 2, title = "Build a task manager", done = false},
{id = 3, title = "Write tests", done = true},
}
-- Build a typed task with the next free id and insert it
local function addTask(list: {Task}, title: string): Task
local newTask: Task = {
id = #list + 1,
title = title,
done = false,
}
table.insert(list, newTask)
return newTask
end
-- Add a task and inspect what came back
local added: Task = addTask(tasks, "Review the code")
print(#tasks)
print(added.id)
print(added.title)
print(added.done)
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 Bertipe7Proyek: Pengelola Tugas dengan Tipe
Proyek: Struktur TugasFungsi untuk Menambahkan Tugas2Tipe 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