mirror of
https://codeberg.org/andyscott/ziglings.git
synced 2024-12-22 06:03:09 -05:00
Add ex079 quoted identifiers
This commit is contained in:
parent
d4f5684450
commit
34ac5f6742
4 changed files with 48 additions and 0 deletions
|
@ -147,6 +147,7 @@ Core Language
|
|||
* [x] Inline loops
|
||||
* [x] Comptime
|
||||
* [x] Sentinel termination
|
||||
* [x] Quoted identifiers @""
|
||||
* [ ] Anonymous structs
|
||||
* [ ] Suspend / Resume
|
||||
* [ ] Async / Await
|
||||
|
|
|
@ -391,6 +391,11 @@ const exercises = [_]Exercise{
|
|||
.main_file = "078_sentinels3.zig",
|
||||
.output = "Weird Data!",
|
||||
},
|
||||
.{
|
||||
.main_file = "079_quoted_identifiers.zig",
|
||||
.output = "Sweet freedom: 55, false.",
|
||||
.hint = "Help us, Zig Programmer, you're our only hope!",
|
||||
},
|
||||
};
|
||||
|
||||
/// Check the zig version to make sure it can compile the examples properly.
|
||||
|
|
30
exercises/079_quoted_identifiers.zig
Normal file
30
exercises/079_quoted_identifiers.zig
Normal file
|
@ -0,0 +1,30 @@
|
|||
//
|
||||
// Sometimes you need to create an identifier that will not, for
|
||||
// whatever reason, play by the naming rules:
|
||||
//
|
||||
// const 55_cows: i32 = 55; // ILLEGAL: starts with a number
|
||||
// const isn't true: bool = false; // ILLEGAL: what even?!
|
||||
//
|
||||
// If you try to create either of these under normal
|
||||
// circumstances, a special Program Identifier Syntax Security
|
||||
// Team (PISST) will come to your house and take you away.
|
||||
//
|
||||
// Thankfully, Zig has a way to sneak these wacky identifiers
|
||||
// past the authorities: the @"" identifier quoting syntax.
|
||||
//
|
||||
// @"foo"
|
||||
//
|
||||
// Please help us safely smuggle these fugitive identifiers into
|
||||
// our program:
|
||||
//
|
||||
const print = @import("std").debug.print;
|
||||
|
||||
pub fn main() void {
|
||||
const 55_cows: i32 = 55;
|
||||
const isn't true: bool = false;
|
||||
|
||||
print("Sweet freedom: {}, {}.\n", .{
|
||||
55_cows,
|
||||
isn't true,
|
||||
});
|
||||
}
|
12
patches/patches/079_quoted_identifiers.patch
Normal file
12
patches/patches/079_quoted_identifiers.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
23,24c23,24
|
||||
< const 55_cows: i32 = 55;
|
||||
< const isn't true: bool = false;
|
||||
---
|
||||
> const @"55_cows": i32 = 55;
|
||||
> const @"isn't true": bool = false;
|
||||
27,28c27,28
|
||||
< 55_cows,
|
||||
< isn't true,
|
||||
---
|
||||
> @"55_cows",
|
||||
> @"isn't true",
|
Loading…
Reference in a new issue