Practical Swift Programs
Todo Summary
A todo summary filters task records and prints the matching names.
Summarize visible tasks
todo_summary.swift
let showDone =
let tasks = [
(name: "write", done: false),
(name: "review", done: true),
(name: "publish", done: false)
]
var visible: [String] = []
for task in tasks {
if showDone || !task.done {
visible.append(task.name)
}
}
let summary = visible.joined(separator: ",")
print(summary)
let showDone =
let tasks = [
(name: "write", done: false),
(name: "review", done: true),
(name: "publish", done: false)
]
var visible: [String] = []
for task in tasks {
if showDone || !task.done {
visible.append(task.name)
}
}
let summary = visible.joined(separator: ",")
print(summary)
task filter
Filtering a small list is a common program shape: inspect each record, keep the ones that match, and print a compact summary.