Menu
CoddyTech

Fungsi: Daftar Tugas berdasarkan Status

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

challenge icon

Tantangan

Mudah

Tambahkan fungsi yang memilih tugas berdasarkan statusnya.

  1. Hapus baris di bawah -- Try it.
  2. Tulis local function filterTasks(list: {Task}, done: boolean): {Task} yang mengembalikan list baru berisi tugas-tugas yang nilai done-nya sama dengan parameter.
  3. Di bawah -- Try it, simpan filterTasks(tasks, false) dalam local pending, lalu cetak #pending dan pending[2].title.

Tekan Run Code: output menampilkan 2 dan Build a task manager.

Coba sendiri

-- Struktur yang diikuti setiap tugas dalam pengelola
type Task = {
    id: number,
    title: string,
    done: boolean,
}
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},
}
-- Buat tugas dengan id berikutnya yang tersedia, lalu tambahkan ke list
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
-- Tandai tugas dengan id ini sebagai selesai, lalu beri tahu apakah tugasnya ditemukan
local function completeTask(list: {Task}, id: number): boolean
    for _, t in ipairs(list) do
        if t.id == id then
            t.done = true
            return true
        end
    end
    return false
end
-- Coba jalankan
print(completeTask(tasks, 1))
print(tasks[1].done)
print(completeTask(tasks, 99))

Semua pelajaran di Pengantar Luau

Latihan sendiri: Compiler Luau online