2021-02-27 19:51:15 +00:00
|
|
|
# Ziglings
|
2020-12-23 17:02:35 +00:00
|
|
|
|
2021-12-25 08:17:41 +00:00
|
|
|
My progress learning [Zig](https://ziglang.org/) via the [ziglings](https://github.com/ratfactor/ziglings) 😊
|
2022-01-08 05:52:07 +00:00
|
|
|
|
|
|
|
## Progress
|
|
|
|
|
|
|
|
```
|
|
|
|
$ zig build
|
|
|
|
|
|
|
|
_ _ _
|
|
|
|
___(_) __ _| (_)_ __ __ _ ___
|
|
|
|
|_ | |/ _' | | | '_ \ / _' / __|
|
|
|
|
/ /| | (_| | | | | | | (_| \__ \
|
|
|
|
/___|_|\__, |_|_|_| |_|\__, |___/
|
|
|
|
|___/ |___/
|
|
|
|
|
|
|
|
Compiling 001_hello.zig...
|
|
|
|
Checking 001_hello.zig...
|
|
|
|
PASSED:
|
|
|
|
Hello world!
|
|
|
|
|
|
|
|
Compiling 002_std.zig...
|
|
|
|
Checking 002_std.zig...
|
|
|
|
PASSED:
|
|
|
|
Standard Library.
|
|
|
|
|
|
|
|
Compiling 003_assignment.zig...
|
|
|
|
Checking 003_assignment.zig...
|
|
|
|
PASSED:
|
|
|
|
55 314159 -11
|
|
|
|
|
|
|
|
Compiling 004_arrays.zig...
|
|
|
|
Checking 004_arrays.zig...
|
|
|
|
PASSED:
|
|
|
|
First: 2, Fourth: 7, Length: 8
|
|
|
|
|
|
|
|
Compiling 005_arrays2.zig...
|
|
|
|
Checking 005_arrays2.zig...
|
|
|
|
PASSED:
|
|
|
|
LEET: 1337, Bits: 100110011001
|
|
|
|
|
|
|
|
Compiling 006_strings.zig...
|
|
|
|
Checking 006_strings.zig...
|
|
|
|
PASSED:
|
|
|
|
d=d ha ha ha Major Tom
|
|
|
|
|
|
|
|
Compiling 007_strings2.zig...
|
|
|
|
Checking 007_strings2.zig...
|
|
|
|
PASSED:
|
|
|
|
Ziggy played guitar
|
|
|
|
Jamming good with Andrew Kelley
|
|
|
|
And the Spiders from Mars
|
|
|
|
|
|
|
|
Compiling 008_quiz.zig...
|
|
|
|
Checking 008_quiz.zig...
|
|
|
|
PASSED:
|
|
|
|
Program in Zig!
|
|
|
|
|
|
|
|
Compiling 009_if.zig...
|
|
|
|
Checking 009_if.zig...
|
|
|
|
PASSED:
|
|
|
|
Foo is 1!
|
|
|
|
|
|
|
|
Compiling 010_if2.zig...
|
|
|
|
Checking 010_if2.zig...
|
|
|
|
PASSED:
|
|
|
|
With the discount, the price is $17.
|
|
|
|
|
|
|
|
Compiling 011_while.zig...
|
|
|
|
Checking 011_while.zig...
|
|
|
|
PASSED:
|
|
|
|
2 4 8 16 32 64 128 256 512 n=1024
|
|
|
|
|
|
|
|
Compiling 012_while2.zig...
|
|
|
|
Checking 012_while2.zig...
|
|
|
|
PASSED:
|
|
|
|
2 4 8 16 32 64 128 256 512 n=1024
|
|
|
|
|
|
|
|
Compiling 013_while3.zig...
|
|
|
|
Checking 013_while3.zig...
|
|
|
|
PASSED:
|
|
|
|
1 2 4 7 8 11 13 14 16 17 19
|
|
|
|
|
|
|
|
Compiling 014_while4.zig...
|
|
|
|
Checking 014_while4.zig...
|
|
|
|
PASSED:
|
|
|
|
n=4
|
|
|
|
|
|
|
|
Compiling 015_for.zig...
|
|
|
|
Checking 015_for.zig...
|
|
|
|
PASSED:
|
|
|
|
A Dramatic Story: :-) :-) :-( :-| :-) The End.
|
|
|
|
|
|
|
|
Compiling 016_for2.zig...
|
|
|
|
Checking 016_for2.zig...
|
|
|
|
PASSED:
|
|
|
|
The value of bits '1101': 13.
|
|
|
|
|
|
|
|
Compiling 017_quiz2.zig...
|
|
|
|
Checking 017_quiz2.zig...
|
|
|
|
PASSED:
|
|
|
|
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16,
|
|
|
|
|
|
|
|
Compiling 018_functions.zig...
|
|
|
|
Checking 018_functions.zig...
|
|
|
|
PASSED:
|
|
|
|
Answer to the Ultimate Question: 42
|
|
|
|
|
|
|
|
Compiling 019_functions2.zig...
|
|
|
|
Checking 019_functions2.zig...
|
|
|
|
PASSED:
|
|
|
|
Powers of two: 2 4 8 16
|
|
|
|
|
|
|
|
Compiling 020_quiz3.zig...
|
|
|
|
Checking 020_quiz3.zig...
|
|
|
|
PASSED:
|
|
|
|
32 64 128 256
|
|
|
|
|
|
|
|
Compiling 021_errors.zig...
|
|
|
|
Checking 021_errors.zig...
|
|
|
|
PASSED:
|
|
|
|
2<4. 3<4. 4=4. 5>4. 6>4.
|
|
|
|
|
|
|
|
Compiling 022_errors2.zig...
|
|
|
|
Checking 022_errors2.zig...
|
|
|
|
PASSED:
|
|
|
|
I compiled!
|
|
|
|
|
|
|
|
Compiling 023_errors3.zig...
|
|
|
|
Checking 023_errors3.zig...
|
|
|
|
PASSED:
|
|
|
|
a=64, b=22
|
|
|
|
|
|
|
|
Compiling 024_errors4.zig...
|
|
|
|
Checking 024_errors4.zig...
|
|
|
|
PASSED:
|
|
|
|
a=20, b=14, c=10
|
|
|
|
|
|
|
|
Compiling 025_errors5.zig...
|
|
|
|
Checking 025_errors5.zig...
|
|
|
|
PASSED:
|
|
|
|
a=0, b=19, c=0
|
|
|
|
|
|
|
|
Compiling 026_hello2.zig...
|
|
|
|
Checking 026_hello2.zig...
|
|
|
|
PASSED:
|
|
|
|
Hello world!
|
|
|
|
|
|
|
|
Compiling 027_defer.zig...
|
|
|
|
Checking 027_defer.zig...
|
|
|
|
PASSED:
|
|
|
|
One Two
|
|
|
|
|
|
|
|
Compiling 028_defer2.zig...
|
|
|
|
Checking 028_defer2.zig...
|
|
|
|
PASSED:
|
|
|
|
(Goat) (Cat) (Dog) (Dog) (Goat) (Unknown) done.
|
|
|
|
|
|
|
|
Compiling 029_errdefer.zig...
|
|
|
|
Checking 029_errdefer.zig...
|
|
|
|
PASSED:
|
|
|
|
Getting number...got 5. Getting number...failed!
|
|
|
|
|
|
|
|
Compiling 030_switch.zig...
|
|
|
|
Checking 030_switch.zig...
|
|
|
|
PASSED:
|
|
|
|
ZIG?
|
|
|
|
|
|
|
|
Compiling 031_switch2.zig...
|
|
|
|
Checking 031_switch2.zig...
|
|
|
|
PASSED:
|
|
|
|
ZIG!
|
|
|
|
|
|
|
|
Compiling 032_unreachable.zig...
|
|
|
|
Checking 032_unreachable.zig...
|
|
|
|
PASSED:
|
|
|
|
1 2 3 9 8 7
|
|
|
|
|
|
|
|
Compiling 033_iferror.zig...
|
|
|
|
Checking 033_iferror.zig...
|
|
|
|
PASSED:
|
|
|
|
2<4. 3<4. 4=4. 5>4. 6>4.
|
|
|
|
|
|
|
|
Compiling 034_quiz4.zig...
|
|
|
|
Checking 034_quiz4.zig...
|
|
|
|
PASSED:
|
|
|
|
my_num=42
|
|
|
|
|
|
|
|
Compiling 035_enums.zig...
|
|
|
|
Checking 035_enums.zig...
|
|
|
|
PASSED:
|
|
|
|
1 2 3 9 8 7
|
|
|
|
|
|
|
|
Compiling 036_enums2.zig...
|
|
|
|
Checking 036_enums2.zig...
|
|
|
|
PASSED:
|
|
|
|
<p>
|
|
|
|
<span style="color: #ff0000">Red</span>
|
|
|
|
<span style="color: #00ff00">Green</span>
|
|
|
|
<span style="color: #0000ff">Blue</span>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
Compiling 037_structs.zig...
|
|
|
|
Checking 037_structs.zig...
|
|
|
|
PASSED:
|
|
|
|
Your wizard has 90 health and 25 gold.
|
|
|
|
|
|
|
|
Compiling 038_structs2.zig...
|
|
|
|
Checking 038_structs2.zig...
|
|
|
|
PASSED:
|
|
|
|
Character 1 - G:20 H:100 XP:10
|
|
|
|
Character 2 - G:10 H:100 XP:20
|
|
|
|
|
|
|
|
Compiling 039_pointers.zig...
|
|
|
|
Checking 039_pointers.zig...
|
|
|
|
PASSED:
|
|
|
|
num1: 5, num2: 5
|
|
|
|
|
|
|
|
Compiling 040_pointers2.zig...
|
|
|
|
Checking 040_pointers2.zig...
|
|
|
|
PASSED:
|
|
|
|
a: 12, b: 12
|
|
|
|
|
|
|
|
Compiling 041_pointers3.zig...
|
|
|
|
Checking 041_pointers3.zig...
|
|
|
|
PASSED:
|
|
|
|
foo=6, bar=11
|
|
|
|
|
|
|
|
Compiling 042_pointers4.zig...
|
|
|
|
Checking 042_pointers4.zig...
|
|
|
|
PASSED:
|
|
|
|
num: 5, more_nums: 1 1 5 1
|
|
|
|
|
|
|
|
Compiling 043_pointers5.zig...
|
|
|
|
Checking 043_pointers5.zig...
|
|
|
|
PASSED:
|
|
|
|
Wizard (G:10 H:100 XP:20)
|
|
|
|
|
|
|
|
Compiling 044_quiz5.zig...
|
|
|
|
Checking 044_quiz5.zig...
|
|
|
|
PASSED:
|
|
|
|
Elephant A. Elephant B. Elephant C.
|
|
|
|
|
|
|
|
Compiling 045_optionals.zig...
|
|
|
|
Checking 045_optionals.zig...
|
|
|
|
PASSED:
|
|
|
|
The Ultimate Answer: 42.
|
|
|
|
|
|
|
|
Compiling 046_optionals2.zig...
|
|
|
|
Checking 046_optionals2.zig...
|
|
|
|
PASSED:
|
|
|
|
Elephant A. Elephant B. Elephant C.
|
|
|
|
|
|
|
|
Compiling 047_methods.zig...
|
|
|
|
Checking 047_methods.zig...
|
|
|
|
PASSED:
|
|
|
|
5 aliens. 4 aliens. 1 aliens. 0 aliens. Earth is saved!
|
|
|
|
|
|
|
|
Compiling 048_methods2.zig...
|
|
|
|
Checking 048_methods2.zig...
|
|
|
|
PASSED:
|
|
|
|
A B C
|
|
|
|
|
|
|
|
Compiling 049_quiz6.zig...
|
|
|
|
Checking 049_quiz6.zig...
|
|
|
|
PASSED:
|
|
|
|
A B C Cv Bv Av
|
|
|
|
|
|
|
|
Compiling 050_no_value.zig...
|
|
|
|
Checking 050_no_value.zig...
|
|
|
|
PASSED:
|
|
|
|
That is not dead which can eternal lie / And with strange aeons even death may die.
|
|
|
|
|
|
|
|
Compiling 051_values.zig...
|
|
|
|
Checking 051_values.zig...
|
|
|
|
PASSED:
|
|
|
|
1:false!. 2:true!. 3:true!. XP before:0, after:200.
|
|
|
|
|
|
|
|
Compiling 052_slices.zig...
|
|
|
|
Checking 052_slices.zig...
|
|
|
|
PASSED:
|
|
|
|
Hand1: A 4 K 8
|
|
|
|
Hand2: 5 2 Q J
|
|
|
|
|
|
|
|
Compiling 053_slices2.zig...
|
|
|
|
Checking 053_slices2.zig...
|
|
|
|
PASSED:
|
|
|
|
'all your base are belong to us.' 'for great justice.'
|
|
|
|
|
|
|
|
Compiling 054_manypointers.zig...
|
|
|
|
Checking 054_manypointers.zig...
|
|
|
|
PASSED:
|
|
|
|
Memory is a resource.
|
|
|
|
|
|
|
|
Compiling 055_unions.zig...
|
|
|
|
Checking 055_unions.zig...
|
|
|
|
PASSED:
|
|
|
|
Insect report! Ant alive is: true. Bee visited 15 flowers.
|
|
|
|
|
|
|
|
Compiling 056_unions2.zig...
|
|
|
|
Checking 056_unions2.zig...
|
|
|
|
PASSED:
|
|
|
|
Insect report! Ant alive is: true. Bee visited 16 flowers.
|
|
|
|
|
|
|
|
Compiling 057_unions3.zig...
|
|
|
|
Checking 057_unions3.zig...
|
|
|
|
PASSED:
|
|
|
|
Insect report! Ant alive is: true. Bee visited 17 flowers.
|
|
|
|
|
|
|
|
Compiling 058_quiz7.zig...
|
|
|
|
Checking 058_quiz7.zig...
|
|
|
|
PASSED:
|
|
|
|
Archer's Point--2->Bridge--1->Dogwood Grove--3->Cottage--2->East Pond--1->Fox Pond
|
|
|
|
|
|
|
|
Compiling 059_integers.zig...
|
|
|
|
Checking 059_integers.zig...
|
|
|
|
PASSED:
|
|
|
|
Zig is cool.
|
|
|
|
|
|
|
|
Compiling 060_floats.zig...
|
|
|
|
Checking 060_floats.zig...
|
|
|
|
PASSED:
|
|
|
|
Shuttle liftoff weight: 1995796kg
|
|
|
|
|
|
|
|
Compiling 061_coercions.zig...
|
|
|
|
Checking 061_coercions.zig...
|
|
|
|
PASSED:
|
|
|
|
Letter: A
|
|
|
|
|
|
|
|
Compiling 062_loop_expressions.zig...
|
|
|
|
Checking 062_loop_expressions.zig...
|
|
|
|
PASSED:
|
|
|
|
Current language: Zig
|
|
|
|
|
|
|
|
Compiling 063_labels.zig...
|
|
|
|
Checking 063_labels.zig...
|
|
|
|
PASSED:
|
|
|
|
Enjoy your Cheesy Chili!
|
|
|
|
|
|
|
|
Compiling 064_builtins.zig...
|
|
|
|
Checking 064_builtins.zig...
|
|
|
|
PASSED:
|
|
|
|
1101 + 0101 = 0010 (true). Furthermore, 11110000 backwards is 00001111.
|
|
|
|
|
|
|
|
Compiling 065_builtins2.zig...
|
|
|
|
Checking 065_builtins2.zig...
|
|
|
|
PASSED:
|
|
|
|
A Narcissus loves all Narcissuses. He has room in his heart for: me myself.
|
|
|
|
|
|
|
|
Compiling 066_comptime.zig...
|
|
|
|
Checking 066_comptime.zig...
|
|
|
|
PASSED:
|
|
|
|
Immutable: 12345, 987.654; Mutable: 54321, 456.789; Types: comptime_int, comptime_float, u32, f32
|
|
|
|
|
|
|
|
Compiling 067_comptime2.zig...
|
|
|
|
Checking 067_comptime2.zig...
|
|
|
|
PASSED:
|
|
|
|
A BB CCC DDDD
|
|
|
|
|
|
|
|
Compiling 068_comptime3.zig...
|
|
|
|
Checking 068_comptime3.zig...
|
|
|
|
PASSED:
|
|
|
|
Minnow (1:32, 4 x 2)
|
|
|
|
Shark (1:16, 8 x 5)
|
|
|
|
Whale (1:1, 143 x 95)
|
|
|
|
|
|
|
|
Compiling 069_comptime4.zig...
|
|
|
|
Checking 069_comptime4.zig...
|
|
|
|
PASSED:
|
|
|
|
s1={ 1, 2, 3 }, s2={ 1, 2, 3, 4, 5 }, s3={ 1, 2, 3, 4, 5, 6, 7 }
|
|
|
|
|
|
|
|
Compiling 070_comptime5.zig...
|
|
|
|
Checking 070_comptime5.zig...
|
|
|
|
PASSED:
|
|
|
|
"Quack." ducky1: true, "Squeek!" ducky2: true, ducky3: false
|
|
|
|
|
|
|
|
Compiling 071_comptime6.zig...
|
|
|
|
Checking 071_comptime6.zig...
|
|
|
|
PASSED:
|
|
|
|
Narcissus has room in his heart for: me myself.
|
|
|
|
|
|
|
|
Compiling 072_comptime7.zig...
|
|
|
|
Checking 072_comptime7.zig...
|
|
|
|
PASSED:
|
|
|
|
26
|
|
|
|
|
|
|
|
Compiling 073_comptime8.zig...
|
|
|
|
Checking 073_comptime8.zig...
|
|
|
|
PASSED:
|
|
|
|
My llama value is 25.
|
|
|
|
|
|
|
|
Compiling 074_comptime9.zig...
|
|
|
|
Checking 074_comptime9.zig...
|
|
|
|
PASSED:
|
|
|
|
My llama value is 2.
|
|
|
|
|
|
|
|
Compiling 075_quiz8.zig...
|
|
|
|
Checking 075_quiz8.zig...
|
|
|
|
PASSED:
|
|
|
|
Archer's Point--2->Bridge--1->Dogwood Grove--3->Cottage--2->East Pond--1->Fox Pond
|
|
|
|
|
|
|
|
Compiling 076_sentinels.zig...
|
|
|
|
Checking 076_sentinels.zig...
|
|
|
|
PASSED:
|
|
|
|
Array:123056. Many-item pointer:123.
|
|
|
|
|
|
|
|
Compiling 077_sentinels2.zig...
|
|
|
|
Checking 077_sentinels2.zig...
|
|
|
|
PASSED:
|
|
|
|
Weird Data!
|
|
|
|
|
|
|
|
Compiling 078_sentinels3.zig...
|
|
|
|
Checking 078_sentinels3.zig...
|
|
|
|
PASSED:
|
|
|
|
Weird Data!
|
|
|
|
|
|
|
|
Compiling 079_quoted_identifiers.zig...
|
|
|
|
Checking 079_quoted_identifiers.zig...
|
|
|
|
PASSED:
|
|
|
|
Sweet freedom: 55, false.
|
|
|
|
|
|
|
|
Compiling 080_anonymous_structs.zig...
|
|
|
|
Checking 080_anonymous_structs.zig...
|
|
|
|
PASSED:
|
|
|
|
[Circle(i32): 25,70,15] [Circle(f32): 25.2,71.0,15.7]
|
|
|
|
|
|
|
|
Compiling 081_anonymous_structs2.zig...
|
|
|
|
Checking 081_anonymous_structs2.zig...
|
|
|
|
PASSED:
|
|
|
|
x:205 y:187 radius:12
|
|
|
|
|
|
|
|
Compiling 082_anonymous_structs3.zig...
|
|
|
|
Checking 082_anonymous_structs3.zig...
|
|
|
|
PASSED:
|
|
|
|
"0"(bool):true "1"(bool):false "2"(i32):42 "3"(f32):3.14159202e+00
|
|
|
|
|
|
|
|
Compiling 083_anonymous_lists.zig...
|
|
|
|
Checking 083_anonymous_lists.zig...
|
|
|
|
PASSED:
|
|
|
|
I say hello!
|
|
|
|
|
|
|
|
Compiling 084_async.zig...
|
|
|
|
Checking 084_async.zig...
|
|
|
|
PASSED:
|
|
|
|
foo() A
|
|
|
|
|
|
|
|
Compiling 085_async2.zig...
|
|
|
|
Checking 085_async2.zig...
|
|
|
|
PASSED:
|
|
|
|
Hello async!
|
|
|
|
|
|
|
|
Compiling 086_async3.zig...
|
|
|
|
Checking 086_async3.zig...
|
|
|
|
PASSED:
|
|
|
|
5 4 3 2 1
|
|
|
|
|
|
|
|
Compiling 087_async4.zig...
|
|
|
|
Checking 087_async4.zig...
|
|
|
|
PASSED:
|
|
|
|
1 2 3 4 5
|
|
|
|
|
|
|
|
Compiling 088_async5.zig...
|
|
|
|
Checking 088_async5.zig...
|
|
|
|
PASSED:
|
|
|
|
Example Title.
|
|
|
|
|
|
|
|
Compiling 089_async6.zig...
|
|
|
|
Checking 089_async6.zig...
|
|
|
|
PASSED:
|
|
|
|
.com: Example Title, .org: Example Title.
|
|
|
|
|
|
|
|
Compiling 090_async7.zig...
|
|
|
|
Checking 090_async7.zig...
|
|
|
|
PASSED:
|
|
|
|
beef? BEEF!
|
|
|
|
|
|
|
|
Compiling 091_async8.zig...
|
|
|
|
Checking 091_async8.zig...
|
|
|
|
PASSED:
|
|
|
|
ABCDEF
|
|
|
|
```
|