태스크 상태 변경 함수
Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨 — 73개 중 47번째.
챌린지
쉬움에디터에는 이전 레슨의 Task 타입, tasks 배열 및 addTask가 이미 포함되어 있습니다.
두 개의 매개변수를 받는 completeTask라는 이름의 함수를 만드세요:
{Task}타입의listnumber타입의id
이 함수는 다음을 수행해야 합니다:
ipairs를 사용해list를 순회하며id가 일치하는 task를 찾습니다.- 찾으면 해당 task의
done을true로 설정하고true를 반환합니다. - 일치하는 task가 없으면
false를 반환합니다(반환 타입boolean).
그런 다음 각 줄에 하나씩 출력하세요:
- 첫 번째 task의
done플래그 (변경 전) completeTask(tasks, 1)의 결과- 첫 번째 task의
done플래그 (변경 후) completeTask(tasks, 99)의 결과
직접 해보기
-- 매니저의 모든 작업이 따라야 하는 형태
type Task = {
id: number,
title: string,
done: boolean,
}
-- 작업 목록: Task 형태의 타입이 지정된 배열
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},
}
-- 다음 사용 가능한 id로 타입이 지정된 작업을 만들어 삽입합니다
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
-- 여기에 코드를 작성하세요
-- 1) completeTask(list: {Task}, id: number): boolean을 정의하세요
-- 2) tasks[1].done, completeTask(tasks, 1), tasks[1].done을 출력하고,
-- 그리고 completeTask(tasks, 99)
Luau 소개의 모든 레슨
7프로젝트: Typed Task Manager
프로젝트: 태스크 형태 정의하기태스크 추가 함수