Commit Graph
100 Commits
Author SHA1 Message Date
Dave Gauer 0efd9340f0 missing return type from example in 069 2021-04-21 17:13:58 -04:00
Dave Gauer be2b98f404 add ex069 comptime 4 2021-04-21 09:47:16 -04:00
Dave Gauer 17a22adce1 add ex068 comptime 3 2021-04-18 18:05:36 -04:00
Dave Gauer 881db5eab2 Clarity for 062 and tupni for 064 2021-04-17 20:03:04 -04:00
Dave Gauer 77a8a123f7 055 typo 2021-04-17 18:15:30 -04:00
Dave Gauer 7d707d64b1 Make it super clear there are two fixes in 051 2021-04-17 17:44:07 -04:00
Dave Gauer 18bf4c76b3 Added note about single vs double quotes 2021-04-17 17:05:16 -04:00
Dave Gauer ff2659410c Single quotes around character and source in comment 2021-04-17 16:46:26 -04:00
Dave Gauer f3e25be7d0 Update ex005 because no need for pointers 2021-04-17 15:56:30 -04:00
Dave Gauer 0c9ebd941c Another try at wording ex067 2021-04-16 22:15:27 -04:00
Dave Gauer bf861f71f7 add ex067 comptime TWO 2021-04-15 20:58:12 -04:00
Dave Gauer dd06f3c95f Added type reflection to 066 2021-04-14 11:00:25 -04:00
Dave Gauer e23eba236a Add ex066, the first comptime explanation 2021-04-13 20:47:05 -04:00
Dave Gauer e933c8efe1 update readme with progress 2021-04-11 11:22:38 -04:00
Dave Gauer 9fbda0c502 add ex065 builtins2 2021-04-11 11:19:58 -04:00
Dave Gauer 838cb43f25 added ex064 builtins 2021-04-10 20:26:17 -04:00
Dave Gauer 0f28e58eea mention builtin ex coming up 2021-04-10 14:45:25 -04:00
Dave Gauer cc269968ea Added ex063 labels 2021-04-10 11:39:11 -04:00
Dave Gauer e608e41cc7 added ex062 loop expressions 2021-04-09 19:24:59 -04:00
Dave Gauer 96f5b425e3 added ex061 coercions 2021-04-09 14:41:25 -04:00
Dave Gauer b3f4773be4 Added ex060 floats 2021-04-09 13:02:36 -04:00
Dave Gauer 1427d3b6f1 added 059 2021-04-08 18:42:19 -04:00
Dave Gauer 34eef5bd24 Ex 058 separate explanations for clarity 2021-04-05 11:55:17 -04:00
Dave Gauer 79cbc99c5f Make it clearer where there's nothing to be fixed. 2021-04-04 18:09:25 -04:00
Dave Gauer 30c9f1a798 Explaining undefined 0xAA in 038 (for issue #43) 2021-04-04 16:38:40 -04:00
Dave Gauer cc01013921 Normalized exercise output, answers (#41)
1. All exercises should print a trailing \n
2. The build script should always show you _exactly_ what it's looking
   for when you get it wrong. Therefore, .output should be set to the
   exact expected output.
2021-04-04 16:29:28 -04:00
Dave Gauer 8bb916d7de Merge branch 'main' of github.com:ratfactor/ziglings into main 2021-04-04 16:06:06 -04:00
Dave Gauer 8ebc7009c1 Added epic ex058 - quiz 7 2021-04-04 16:05:44 -04:00
Dave Gauer 9ba798a810 Merge branch 'ex058' into main 2021-03-29 15:55:20 -04:00
Dave Gauer a926f9f893 Adding CONTRIBUTING (#42) 2021-03-29 15:53:29 -04:00
Dave Gauer 8923b3f4a9 ex 058 grammaring harder 2021-03-18 10:01:14 -04:00
Dave Gauer 54f2ace51a fixed failing test for ex. 024 2021-03-16 11:00:52 -04:00
Dave Gauer 6d60f7e33a Enum submissions now closed in ex. 048 2021-03-16 11:00:12 -04:00
Dave Gauer 33040bce0c removed dupe ex 057 from build script 2021-03-16 10:30:25 -04:00
Dave Gauer 68dd401e42 Merge branch 'main' of github.com:ratfactor/ziglings into main 2021-03-13 16:27:35 -05:00
Dave Gauer 9cc49f98b9 Many pointers -> many-item pointers 2021-03-13 16:27:14 -05:00
Dave Gauer 20f6a0f69d workflow_dispatch test 2021-03-12 20:26:31 -05:00
Dave Gauer d55545ffaf Merge branch 'mattnite-ci' into main 2021-03-12 20:13:18 -05:00
Dave Gauer 2413e5060f Merge branch 'ci' of https://github.com/mattnite/ziglings into mattnite-ci
eowyn.sh has changed, conflict resolved
2021-03-12 20:10:20 -05:00
Dave Gauer d560c41b59 Patch/test scripts now run from project root
This simplifies everything and makes everything good.

(Shell scripts need to be as simple as possible for maximum
compatibility.)
2021-03-12 19:59:17 -05:00
Dave Gauer 8b4b8b166f Updated readme post 000 paddd 2021-03-12 19:09:35 -05:00
Dave Gauer ea76d0ffbe Merge branch 'main' of github.com:ratfactor/ziglings into main 2021-03-12 19:04:56 -05:00
Dave Gauer 0956f1839f "999 is enough for anybody" triple-zero padding (#18)
When I hit 999 exercises, I will finally have reached the ultimate
state of soteriological release and no more exercises will be needed.
The cycle will be complete. All that will be left is perfect quietude,
freedom, and highest happiness.
2021-03-12 18:59:46 -05:00
Dave Gauer 93eefe0f25 Laying down some harsh string facts in ex54. 2021-03-10 20:24:23 -05:00
Dave Gauer e8c5f411f2 Merge branch 'main' of github.com:ratfactor/ziglings into main 2021-03-10 20:14:30 -05:00
Dave Gauer af597c86a5 add ex 57 unions 3 2021-03-10 20:14:25 -05:00
Dave Gauer dff61673c8 add ex56 for real 2021-03-09 20:51:00 -05:00
Dave Gauer 20520d99f7 add ex56 unions2 (tagged) 2021-03-09 20:49:47 -05:00
Dave Gauer 7b1c9c3b63 add ex 55 unions 2021-03-09 20:04:43 -05:00
Dave Gauer 784b66ffcf "Multi pointers" are now "many pointers"
TypeInfo.Pointer.Size says "many", so there we are!
2021-03-07 10:08:07 -05:00
Dave Gauer 4a421cca28 Update README with TODONEs 2021-03-06 21:31:55 -05:00
Dave Gauer fd2cec02af add ex54 multipointers (for real) 2021-03-06 21:31:02 -05:00
Dave Gauer 5e46bd8c1c add ex54 multipointers 2021-03-06 21:29:29 -05:00
Dave Gauer a8b9d6f2b8 add ex53 slices2 2021-03-06 19:16:28 -05:00
Dave Gauer d1c6993898 add ex52 slices 2021-03-06 18:20:50 -05:00
Dave Gauer 363459de84 POSIX shell fixes 2021-03-06 18:10:24 -05:00
Dave Gauer 35e99e625d ex51 word crimes solved 2021-03-05 14:07:07 -05:00
Dave Gauer a75c9f5e07 ex51 explanation improvements 2021-03-05 13:31:31 -05:00
Dave Gauer 5dc7ac219b ex51 lol space 2021-03-05 13:01:45 -05:00
Dave Gauer 3211f2d5cb ex51 fixed wording 2021-03-05 12:55:49 -05:00
Dave Gauer 14199cfdca ex51 cleaned up wording 2021-03-05 12:38:04 -05:00
Dave Gauer 0fea5bc00c Merge branch 'main' of github.com:ratfactor/ziglings into main 2021-03-05 11:01:16 -05:00
Dave Gauer 4f9c8f57ba Add ex51 values 2021-03-05 11:01:12 -05:00
Dave Gauer 28791f0cb8 Add ex 50 'no values' (help further address #25) 2021-02-28 18:36:38 -05:00
Dave Gauer 0552a62896 Added quiz 6 (and the trumpeting sounds grow louder) 2021-02-28 13:51:33 -05:00
Dave Gauer 5f7e9389d5 Added ex 48, additional comment on 46 2021-02-28 13:23:22 -05:00
Dave Gauer 11ec69b92c oops, left in old note pt. 2 2021-02-28 11:58:22 -05:00
Dave Gauer 594a5c0f47 oops, left in old note 2021-02-28 11:27:13 -05:00
Dave Gauer 077a779f3d Change default elephant tail to null (#25)
It was confusing to see

    tail... = undefined

in the struct definition and then

    if (tail == null)

later in the exercise - it appears that the mismatch would be the issue
- but that's distracting from the real issue: making the value optional!

Changing the initial value to null is still correct, but won't distract.

The only worry now is that the user will remember the undefined
definition from the previous exercise and wonder if that has to be that
way...but you can't win them all!
2021-02-28 11:00:20 -05:00
Dave Gauer 42e6ebd2fe Add ex 47: methods 2021-02-27 16:52:57 -05:00
Dave Gauer 6f98de59a9 Update README so it has THE TRUTH 2021-02-16 20:28:34 -05:00
Dave Gauer f27601b558 Added ex. 46 optionals 2 - elephants! 2021-02-16 20:21:32 -05:00
Dave Gauer bbbda4bd0a Exit rather than return upon version failure (#14)
A plain `zig build` was exiting as expected after the version check
failure did an early 'return'.

But `zig build 01` (specifying a step) would print the fail message
and then continue...but fail to find the step (which was not added).

Calling `exit()` solves this. Calling it with an error status code
causes vomiting in the build system (since, you know, there was an
error). So returning with `exit(0)` is the way to go here.
2021-02-16 18:10:02 -05:00
Dave Gauer 9b54ba79a0 Second attempt of the second attempt (#14) 2021-02-15 20:13:50 -05:00
Dave Gauer 3693a35aeb Second attempt at explaining the minimum build (#14) 2021-02-15 20:04:18 -05:00
Dave Gauer ca330b00bc Patches to patches to clean up patches 2021-02-14 20:26:57 -05:00
Dave Gauer 6ab9b17eb8 Fix Ex.19 typo (#19)
Oh, look at that, issue 19 is about exercise 19.

Today's lucky number is 19. Time to buy a lottery ticket.
2021-02-14 19:35:45 -05:00
Dave Gauer 4b8cb2e444 Attempt to make the version error and README clearer (#14) 2021-02-14 19:25:35 -05:00
Dave Gauer 03a09639c6 Added testing ability
For the full details, see patches/README.md :-)
2021-02-14 18:36:09 -05:00
Dave Gauer 654437c0bc Make "check and halt" the default for zig build NN (#15)
The "start with NN" action is now NN_start.

Also formatting output for improved clarity (hopefully).
2021-02-14 16:45:18 -05:00
Dave Gauer a216e19521 going with this exercise order 2021-02-14 12:13:55 -05:00
Dave Gauer 5d44734cfe 03 assignment - var to const in example for clarity 2021-02-14 12:04:04 -05:00
Dave Gauer d4739ac00a Merge branch 'main' of github.com:ratfactor/ziglings into main 2021-02-14 10:50:03 -05:00
Dave Gauer 545573fc84 Added ex 45 optionals
(And secretly added the patches/ dir. Don't tell anybody!)
2021-02-14 10:49:09 -05:00
Dave Gauer 16dbeea7f5 begone ye errant space 2021-02-14 09:25:19 -05:00
Dave Gauer a7e101cd05 Emit correct output as green text indicating passed. 2021-02-13 22:09:37 -05:00
Dave Gauer 96cb465fb8 Merge branch 'main' of github.com:ratfactor/ziglings into main 2021-02-13 20:36:15 -05:00
Dave Gauer ee8fbbd65d ex10 - missing type was confusing and tangential (#12) 2021-02-13 20:35:07 -05:00
Dave Gauer 7023b5345c Update README to reflect new version checking 2021-02-12 22:53:07 -05:00
Dave Gauer a43e7437c0 Merge branch 'SpexGuy-zig-build' into main 2021-02-12 22:30:25 -05:00
Dave Gauer 37cb6a8b16 Merge branch 'zig-build' of https://github.com/SpexGuy/ziglings into SpexGuy-zig-build 2021-02-12 20:49:57 -05:00
Dave Gauer 2bdacd35c1 Added string specifier in format strings (#3)
This is now required in current versions of Zig.
2021-02-10 22:13:22 -05:00
Dave Gauer 311fe0ea3c Merge branch 'main' of github.com:ratfactor/ziglings into main 2021-02-10 21:47:21 -05:00
Dave Gauer 5b47e8ebe6 Removed incorrect explanation of assignment error (#1)
It really has nothing to do with the if/else expression. The peer
types are being resolved correctly.  The same error can be produced
with something as simple as:

    var foo = 5;
2021-02-10 21:44:11 -05:00
Dave Gauer 961cf22b88 Added Quiz 5 for pointers. Elephants!!! 2021-02-09 20:15:45 -05:00
Dave Gauer 55ad7c32f2 Moved exercises to exercises because exercises 2021-02-09 18:36:57 -05:00
Dave Gauer cf0920de31 Added Ex. 38-43 for pointers, updated README
Added topics beyond the language basics from ziglearn.org
to the README. That's a lot of exercises. I'd like to keep
it under 100, though!
2021-02-08 20:35:28 -05:00
Dave Gauer adf5ddb27d Consistent instructions and examples
I started off with "hints" that required the poor student to piece
together the information from incomplete bits. A complete example is
like a picture that is worth 1000 words and far clearer.
2021-02-07 11:06:51 -05:00
Dave Gauer 507355ec3b Added ex. 37,38 structs 2021-02-06 15:54:56 -05:00
Dave Gauer 2cded107cd 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.
2021-02-06 09:29:49 -05:00