add ex083 anon lists

pull/2/head
Dave Gauer 3 years ago
parent c43e5480c6
commit 4a379159a3

@ -148,7 +148,7 @@ Core Language
* [x] Comptime * [x] Comptime
* [x] Sentinel termination * [x] Sentinel termination
* [x] Quoted identifiers @"" * [x] Quoted identifiers @""
* [ ] Anonymous structs * [x] Anonymous structs/tuples/lists
* [ ] Suspend / Resume * [ ] Suspend / Resume
* [ ] Async / Await * [ ] Async / Await
* [ ] Nosuspend * [ ] Nosuspend

@ -409,6 +409,10 @@ const exercises = [_]Exercise{
.output = "\"0\"(bool):true \"1\"(bool):false \"2\"(i32):42 \"3\"(f32):3.14159202e+00", .output = "\"0\"(bool):true \"1\"(bool):false \"2\"(i32):42 \"3\"(f32):3.14159202e+00",
.hint = "This one is a challenge! But you have everything you need." .hint = "This one is a challenge! But you have everything you need."
}, },
.{
.main_file = "083_anonymous_lists.zig",
.output = "I say hello!",
},
}; };
/// Check the zig version to make sure it can compile the examples properly. /// Check the zig version to make sure it can compile the examples properly.

@ -0,0 +1,25 @@
//
// Anonymous struct literal syntax can also be used to compose an
// "anonymous list" with an array type destination:
//
// const foo: [3]u32 = .{10, 20, 30};
//
// Otherwise it's a "tuple":
//
// const bar = .{10, 20, 30};
//
// The only difference is the destination type.
//
const print = @import("std").debug.print;
pub fn main() void {
// Please make 'hello' a string-like array of u8 WITHOUT
// changing the value literal.
//
// Don't change this part:
//
// = .{'h', 'e', 'l', 'l', 'o'};
//
const hello = .{'h', 'e', 'l', 'l', 'o'};
print("I say {s}!\n", .{hello});
}

@ -0,0 +1,4 @@
23c23
< const hello = .{'h', 'e', 'l', 'l', 'o'};
---
> const hello: [5]u8 = .{'h', 'e', 'l', 'l', 'o'};
Loading…
Cancel
Save