Tasks in memory: add, rename, complete, remove
Lesson 37. Carry out four task actions and see how removal shifts list positions.
Publishing archive
Wednesday
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
The highlighted days are the ones with something published; those are clickable.
Lesson 37. Carry out four task actions and see how removal shifts list positions.
Lesson 40. Run an interactive organizer, perform several commands in one session, and handle invalid input.
Lesson 36. Separate parsing launch words from acting on the organizer and explain each error.
Lesson 38. Give each task a stable ID and never reuse it after removal.
Lesson 39. Check consequences of several actions and errors that must leave data unchanged.
Lesson 35. Give the organizer an action and title when starting it from the terminal.
Lesson 31. Look up a title by position without crashing when that position does not exist.
Lesson 33. Parse minutes first, then check their meaning and return a useful error.
Lesson 32. Turn text into a number of minutes and explain invalid input without stopping the program.
Lesson 34. Read a task title and distinguish a blank line, end of input and a read error.
Lesson 26. Return a task title and its duration together without mixing up the values.
Lesson 27. Put a task's title, duration and completion state into one type of your own.
Lesson 28. Create a task, read its state and finish it through methods.
Lesson 30. Read a task state fully and catch a missing case before running the program.
Lesson 29. Represent a task's state with one named variant that may carry extra data.
Lesson 25. Distinguish bytes, `char` values, and visible letters in a task title.
Lesson 24. Add and remove task titles without fixing the number of slots in advance.
Lesson 21. Change a string through a function and explain when other access becomes available again.
Lesson 22. Choose an owned string for storage and a text view for reading.
Lesson 23. Pass part of a numeric collection to a function without building another array.
Lesson 17. Build and test a task summary independently using familiar syntax.
Lesson 19. Explain why an old name becomes unavailable after passing a String value.
Lesson 20. Let a function read a string while its owner keeps using it.
Lesson 18. Distinguish a value, its owner, and the storage it may use.