タスクのステータスを変更する関数
CoddyのLuaジャーニー「Luau入門」セクションの一部。レッスン 47/73。
チャレンジ
簡単エディターには、前のレッスンで作成したTask型、tasks配列、addTaskがすでに含まれています。
completeTaskという名前のfunctionを作成し、2つのパラメーターを受け取るようにします。
- 型が
{Task}のlist - 型が
numberのid
functionは次のように動作する必要があります。
ipairsを使ってlistをループし、idが一致するtaskを探す- 見つかった場合、そのtaskの
doneをtrueに設定してtrueを返す - 一致するtaskがない場合、
falseを返す(戻り値の型はboolean)
次に、1行ずつ次の内容をprintします。
- 最初の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
プロジェクト:タスクの型定義タスクを追加する関数自分で練習してみよう: Luaオンラインコンパイラ