diff options
-rw-r--r-- | 04_arrays.zig | 31 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rwxr-xr-x | ziglings | 3 |
3 files changed, 34 insertions, 2 deletions
diff --git a/04_arrays.zig b/04_arrays.zig new file mode 100644 index 0000000..2e3c208 --- /dev/null +++ b/04_arrays.zig @@ -0,0 +1,31 @@ +// +// Let's learn some array basics. Arrays literals are declared with: +// +// [size]<type>{ values }; +// +// When Zig can infer the size of the array, you can use '_' for the +// size like so: +// +// [_]<type>{ values }; +// +const std = @import("std"); + +pub fn main() void { + const some_primes = [_]u8{ 2, 3, 5, 7, 11, 13, 17, 19 }; + + // Array values are accessed using square bracket '[]' notation. + // + // (Note that when Zig can infer the type (u8 in this case) of a + // value, we don't have to manually specify it.) + // + const first = some_primes[0]; + + // Looks like we need to complete this expression: + const fourth = ???; + + // Use '.len' to get the length of the array: + const length = some_primes.???; + + std.debug.print("First: {}, Fourth: {}, Length: {}\n", + .{first, fourth, length}); +} @@ -60,7 +60,7 @@ Planned exercises: * [x] Hello world (main needs to be public) * [x] Importing standard library * [x] Assignment -* [ ] Arrays +* [x] Arrays * [ ] If * [ ] While * [ ] For @@ -67,7 +67,8 @@ function check_it { check_it 01_hello.zig "Hello world" "Note the error: the source file has a hint for fixing 'main'." check_it 02_std.zig "Standard Library" -check_it 03_assignment.zig "55 314159 -11" +check_it 03_assignment.zig "55 314159 -11" "There are three mistakes in this one!" +check_it 04_arrays.zig "Fourth: 7, Length: 8" "There are two things to complete here." echo echo " __ __ _ " |