Commit Graph

184 Commits

Author SHA1 Message Date
Juergen Hoetzel 8c2202c73d Add example for Unicode Code point literal > 255
Only Basic Latin and Latin-1 Supplement code points fit into a single
byte.
2023-08-27 12:33:33 +02:00
Chris Boesch 4eb949759b changed struct name 'class' into 'role' 2023-08-17 14:55:11 +02:00
Chris Boesch 5a0681948b changed struct name 'class' into 'role' 2023-08-02 23:29:02 +02:00
Chris Boesch a5a36337e8 Revised exercises due to the changes of Zig version 0.11.0-dev.3853 2023-06-26 23:43:39 +02:00
Chris Boesch a2b0b976a6 First tokenization exerice. 2023-06-26 00:54:39 +02:00
lording 3e502fe69b Merge branch 'main' into refactor-var-to-const 2023-06-22 09:48:10 +00:00
lording d2d3dfa277 var to const when posssible 2023-06-22 09:41:41 +00:00
lording 39952817b3 Fix broken builtin name in exercise 36 2023-06-22 08:23:01 +00:00
Chris Boesch 33d3cc1647 Fixed description of @addWithOverflow 2023-06-10 22:04:03 +02:00
Chris Boesch c3a73b8e2b Added testing exercise. 2023-05-15 00:06:15 +02:00
Dave Gauer e2f3a5e519 Added Ex 101 "for loops part 5" (Closes #271)
Also gave a shot at explaining data-oriented design, a Zig "hot
topic" ever since the red Hawaiian shirt talk(s).
2023-05-02 08:26:32 -04:00
Dave Gauer 2e2924abdb Added Ex. 100 fourth for (as foretold in #261) 2023-04-30 21:23:54 -04:00
Dave Gauer bef099fee6 Renamed 095 to "for3" to match feature sequence
So 100 will be the next in line.
2023-04-30 17:11:37 -04:00
Dave Gauer fd10ff8bb3 Updating 095 patch to match, natch! 2023-04-30 16:45:57 -04:00
Manlio Perillo 0dc6b45770 eowyn.sh: remove checking formatting one file at a time
This avoids unnecessary output.
Also remove the comment, since the message to stdout makes it
unnecessary.
2023-04-29 16:59:33 +02:00
Chris Boesch f69cfc3b88 Version number added. 2023-04-25 23:34:56 +02:00
Chris Boesch 0ac3646e9c Added a loop for the formatting test, so we can see where errors happen. 2023-04-25 23:21:01 +02:00
Manlio Perillo fd6f3eebbb eowyn.sh: set the -e option
Currently, `zig fmt` exit status is ignored, making it useless.
Ensure that the script terminates early if there is an error.

Print a message to stdout before executing `zig fmt`, in order to make
the possible error more visible.
2023-04-25 14:52:05 +02:00
Manlio Perillo 4b58de26d3 eowyn: always quote variables
Quote all the variables, even though we know that it is safe.

Fix coding style.
2023-04-25 12:58:46 +02:00
Dave Gauer 42c430a0c0 Ex 099 format instructions to 65 columns, wording, examples 2023-04-23 18:54:43 -04:00
Chris Boesch 4435cebe7a Merge pull request #247 from chrboesch/formatting
added first formatting exercise
2023-04-19 22:09:32 +02:00
Chris Boesch d6d30934db added first formatting exercise 2023-04-19 21:57:37 +02:00
Manlio Perillo c7697a4282 Ensure the patches are up-to-date and consistent
Add the update-patches.py tool.

Update all the patches, so that the files are up-to-date and use the
same patch file format.
2023-04-18 18:16:19 +02:00
Manlio Perillo 7d7be0482c eowyn: run zig fmt --check before zig build
Update the eowyn.sh script to check the healed exercises formatting,
before running `zig build`.
2023-04-18 18:16:19 +02:00
Manlio Perillo 6b17a18893 Ensure the exercises use the canonical format
Add the check-exercises.py tool in the new tools directory.  It is used
to check that the exercises are correctly formatted, printing on stderr
the invalid ones and the diff in the unified format.

Update the exercises that don't use the canonical zig fmt format.

Update some patches that cause the generated zig file to be incorrectly
formatted.
2023-04-18 18:16:19 +02:00
Chris Boesch 9f48d84ac8 added the second exercise for bit manipulation 2023-04-12 17:00:26 +02:00
Chris Boesch 299418c314 added first exercise for bit manipulation 2023-04-12 15:47:20 +02:00
Chris Boesch b16cd86906 function made more elegant 2023-03-30 23:11:40 +02:00
Sean Aubin be87134397 change empty init to '???' placeholder 2023-03-08 19:22:17 -05:00
Sean Aubin 484822a8da rename memory allocation 095 -> 096 2023-03-08 13:42:21 -05:00
Sean Aubin a218425ee5 add 095_memory_allocation.patch 2023-03-08 13:36:28 -05:00
Chris Boesch 101151f3f1 exercise for new for-loops 2023-03-04 16:07:53 +01:00
Chris Boesch e7326dc5f9 dev.1711 - switched to multi-object-for-loops 2023-02-21 21:43:40 +01:00
Chris Boesch 1d10a062e2 check for dev1650 and some minor polish 2023-02-19 17:52:16 +01:00
Chris Boesch 84f4b4a9c7 small improvements in hello_c 2023-02-19 00:00:08 +01:00
Chris Boesch 23f2cc88d2 added C math exercise 2023-02-18 23:39:21 +01:00
Chris Boesch bb95625477 try 'write' that works on mac, but I didn't know if it works on windows 2023-02-16 18:33:06 +01:00
Chris Boesch dce731a0ec Merge branch 'main' into hello_c 2023-02-16 11:17:52 +01:00
Chris Boesch 9693860bc0 inserted a workaround for mac-os, see https://github.com/ziglang/zig/issues/14657#issuecomment-1432180967 2023-02-16 11:15:07 +01:00
Dave Gauer 662086cb89 Added story/explanation to new ex. 092 2023-02-15 17:45:10 -05:00
Chris Boesch 4cf3bd63a2 added the first C exercise 2023-02-15 22:55:44 +01:00
Chris Boesch beaa89fdf5 inserted a failure and created a patch 2023-02-14 12:58:12 +01:00
Chris Boesch bb4b321b0c created an empty patch for testing until the exercise is finished 2023-02-14 09:11:46 +01:00
Chris Boesch 0616cc4303 try to fix mac error 2023-01-22 13:34:46 +01:00
Chris Boesch 9d9dc1dacf changed 'the_end' to '999_the_end' 2023-01-22 13:12:53 +01:00
Chris Boesch 007f4d655b the_end function added 2023-01-21 23:26:53 +01:00
Chris Boesch 171e2b693c fixed patches 2023-01-21 17:03:40 +01:00
James LeBlanc b69a297e32 corrected @bitReverse for only 1 arg, instead of 2 args 2022-09-03 10:56:25 +02:00
Dave Gauer 1691b22c1b Ex 080: Strip filename from @typeName output to address #130 2022-08-29 20:10:26 -04:00
Dave Gauer 4eaef5fae4 Ex 065: improve hints, fix type printing change. For #120 and #128 2022-08-29 18:30:38 -04:00
Dave Gauer dee6a96ddf Correct conventional Zig reference vs value passing re #89 2022-07-31 15:58:24 -04:00
Dave Gauer 18c761d85d Merge branch 'heatray' 2022-07-31 11:35:01 -04:00
Dave Gauer c3c610acf0 Update ex 047 comment and patch 2022-07-31 11:32:51 -04:00
Dave Gauer 635be056a0 Massage ex 064 patch 2022-07-31 10:56:46 -04:00
DerTee daf0a99f94 064_builtins: clarify @addWithOverflow explanation
There were misunderstandings concerning
overflowing operations and overflowed variables.
Hopefully it's clearer now.
2022-05-16 02:37:18 +02:00
Dave Gauer f6d1b36be2 Manually cleaned up patches/patches for issue #73
Patches cleaned and fixed by hand as proof of my devotion. <3
2022-03-19 21:10:44 -04:00
Dave Gauer 49ce260748 Added ex91 - closing in on async! 2021-11-07 20:51:33 -05:00
Dave Gauer 4c7eebbbfc Removed confusing explanation from 076 2021-10-18 19:04:12 -04:00
Dave Gauer 0ba79fe869 Updated for dev pre-release build v0.9.0-dev.1343
A change in the "build" library imports and some cleanup in the
patches.
2021-10-09 10:19:34 -04:00
Dave Gauer f9a1956d88 no unusued vars 2021-06-30 19:55:47 -04:00
Dave Gauer c7b00fd83c No unused locals 2021-06-30 19:39:36 -04:00
Dave Gauer 76287cad45 no unused method params 2021-06-30 19:28:27 -04:00
Dave Gauer 290ba908ec methods NOT namespaced like i expected 2021-06-30 19:18:13 -04:00
Dave Gauer 843fd65882 unused consts now errors 2021-06-30 19:00:50 -04:00
Dave Gauer 34af14ca7b add ex090 async 7 2021-06-14 15:39:49 -04:00
Dave Gauer 9209879d73 Re-sync patches with current changes 2021-06-14 11:52:22 -04:00
Dave Gauer de322fab46 New usize explanation 008, etc. 2021-06-14 11:26:04 -04:00
Dave Gauer e47dccf245 Add ex089 Async 6 2021-05-27 19:04:11 -04:00
jacob gw 433202d429 change suspend; to suspend {} 2021-05-24 15:57:59 -04:00
Dave Gauer 110e556ae1 add ex088 async 5 await 2021-05-13 19:48:10 -04:00
Dave Gauer be279c78f5 add ex087 async 4 2021-05-12 21:36:57 -04:00
Dave Gauer 3e5647d88c add ex086 async 3 2021-05-12 21:25:48 -04:00
Dave Gauer 54c048b0a0 add ex085 async 2 2021-05-12 21:04:58 -04:00
Dave Gauer 3b08761532 add ex084 async 2021-05-12 20:35:29 -04:00
Dave Gauer 4a379159a3 add ex083 anon lists 2021-05-09 19:53:14 -04:00
Dave Gauer c43e5480c6 add ex082 anon structs 3 2021-05-09 18:58:56 -04:00
Dave Gauer c0bbbee176 add ex081 anon structs 2 2021-05-09 14:25:51 -04:00
Dave Gauer ae0dc2b282 add ex080 anonymous structs 1 2021-05-09 13:24:25 -04:00
Dave Gauer ac9a4dadfb Normalize interrobangs 2021-05-09 13:15:53 -04:00
Dave Gauer 34ac5f6742 Add ex079 quoted identifiers 2021-05-09 13:10:09 -04:00
Dave Gauer d4f5684450 Fix 076, add 077,078 sentinels and many-item pointers 2021-05-08 18:51:08 -04:00
Dave Gauer e9547cf808 add ex076 sentinels 2021-05-06 20:32:36 -04:00
Dave Gauer 4760c62d62 Added ex075 Quiz 8 2021-04-30 21:35:56 -04:00
Dave Gauer 060e2b9789 add ex074 comptime 9 2021-04-30 20:25:59 -04:00
Dave Gauer db20e9541a add ex073 comptime 8 2021-04-26 20:01:54 -04:00
Dave Gauer 14c7e73343 add 072 comptime 7 2021-04-24 14:34:46 -04:00
Dave Gauer 5d7217dcbf Fix typo in 066 (issue #46) 2021-04-24 12:37:27 -04:00
Dave Gauer ea17a9c8cb add 071 comptime 6 inline for 2021-04-22 17:17:25 -04:00
Dave Gauer 647f461943 Adding traditional program debugging capability to RubberDuck 2021-04-22 10:31:05 -04:00
Dave Gauer 9c095c60a4 add ex070 comptime 5 2021-04-21 20:08:34 -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 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 e23eba236a Add ex066, the first comptime explanation 2021-04-13 20:47:05 -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 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