Add ex 35,36 enums; updated README

I'm changing the order of some more topics. Trying to explain the value
of pointers when we're mostly dealing with stack-sized values like
integers feels convoluted. So I'm starting with enums (which also has a
nice segue from an earlier "switch" exercise). Then structs. Then unions
(just in keeping with the order of these items on ziglearn.org) and THEN
pointers and multi-pointers and slices.
This commit is contained in:
Dave Gauer 2021-02-06 09:29:49 -05:00
parent 738a9f6cda
commit 2cded107cd
4 changed files with 131 additions and 5 deletions

View file

@ -9,6 +9,18 @@ This project was directly inspired by the brilliant and fun
[rustlings](https://github.com/rust-lang/rustlings)
project for the [Rust](https://www.rust-lang.org/) language.
## Intended Audience
This will probably be quite difficult if you've _never_ programmed before.
However, no specific programming experience is required. And in particular,
you are _not_ expected to know C or other "systems programming" language.
Each exercise is self-contained and self-explained. However, you're encouraged
to also check out these Zig language resources for more detail:
* https://ziglearn.org/
* https://ziglang.org/documentation/master/
## Getting Started
_Note: This currently uses a shell (Bash) script to automate the "game". A
@ -53,7 +65,7 @@ the learning resource I wished for. There will be tons of room for improvement:
* Wording of explanations
* Idiomatic usage of Zig
* Additional exercises
* Re-write the `ziglings` script using the Zig build system (???)
* Re-write the `ziglings` script using the Zig build system (or just a Zig application)
Planned exercises:
@ -70,13 +82,13 @@ Planned exercises:
* [x] Defer (and errdefer)
* [x] Switch
* [x] Unreachable
* [x] Enums
* [ ] Structs
* [ ] Unions
* [ ] Pointers
* [ ] Pointer sized integers
* [ ] Multi pointers
* [ ] Slices
* [ ] Enums
* [ ] Structs
* [ ] Unions
* [ ] Integer rules
* [ ] Floats
* [ ] Labelled blocks
@ -91,4 +103,6 @@ Planned exercises:
* [ ] Imports
The initial topics for these exercises were unabashedly cribbed from
[ziglearn.org](https://ziglearn.org/).
[ziglearn.org](https://ziglearn.org/). I've since moved things around
in an order that I think best lets each topic build upon each other.