mirror of
https://codeberg.org/ziglings/exercises.git
synced 2026-06-08 07:50:00 +00:00
Fix 065_builtins2.zig because of new build system
This commit is contained in:
@@ -93,36 +93,25 @@ pub fn main() void {
|
|||||||
|
|
||||||
print("He has room in his heart for:", .{});
|
print("He has room in his heart for:", .{});
|
||||||
|
|
||||||
// A StructFields array
|
// `field_names` is a slice of strings and it holds the names of the struct's fields
|
||||||
const fields = @typeInfo(Narcissus).@"struct".fields;
|
// `field_types` is a slice of strings and it holds the types of the struct's fields,
|
||||||
|
// it is guaranteed to be the same length as `field_names`
|
||||||
|
const field_names = @typeInfo(Narcissus).@"struct".field_names;
|
||||||
|
const field_types = @typeInfo(Narcissus).@"struct".field_types;
|
||||||
|
|
||||||
// 'fields' is a slice of StructFields. Here's the declaration:
|
|
||||||
//
|
|
||||||
// pub const StructField = struct {
|
|
||||||
// name: [:0]const u8, // Don't worry about `:0` yet!
|
|
||||||
// type: type,
|
|
||||||
// default_value_ptr: ?*const anyopaque,
|
|
||||||
// is_comptime: bool,
|
|
||||||
// alignment: comptime_int,
|
|
||||||
//
|
|
||||||
// defaultValue() ?sf.type // Function that loads the
|
|
||||||
// // field's default value from
|
|
||||||
// // `default_value_ptr`
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// Please complete these 'if' statements so that the field
|
// Please complete these 'if' statements so that the field
|
||||||
// name will not be printed if the field is of type 'void'
|
// name will not be printed if the field is of type 'void'
|
||||||
// (which is a zero-bit type that takes up no space at all!):
|
// (which is a zero-bit type that takes up no space at all!):
|
||||||
if (fields[0].??? != void) {
|
if (field_???[???] != void) {
|
||||||
print(" {s}", .{fields[0].name});
|
print(" {s}", .{field_???[???]});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fields[1].??? != void) {
|
if (field_???[???] != void) {
|
||||||
print(" {s}", .{fields[1].name});
|
print(" {s}", .{field_???[???]});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fields[2].??? != void) {
|
if (field_???[???] != void) {
|
||||||
print(" {s}", .{fields[2].name});
|
print(" {s}", .{field_???[???]});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Yuck, look at all that repeated code above! I don't know
|
// Yuck, look at all that repeated code above! I don't know
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
--- exercises/065_builtins2.zig 2026-02-27 13:10:36
|
--- exercises/065_builtins2.zig 2026-06-01 15:33:16.617432671 +0200
|
||||||
+++ answers/065_builtins2.zig 2026-02-27 13:10:52
|
+++ answers/065_builtins2.zig 2026-06-01 15:33:31.104018108 +0200
|
||||||
@@ -58,7 +58,7 @@
|
@@ -58,7 +58,7 @@
|
||||||
// Oops! We cannot leave the 'me' and 'myself' fields
|
// Oops! We cannot leave the 'me' and 'myself' fields
|
||||||
// undefined. Please set them here:
|
// undefined. Please set them here:
|
||||||
@@ -18,22 +18,26 @@
|
|||||||
|
|
||||||
// Now we print a pithy statement about Narcissus.
|
// Now we print a pithy statement about Narcissus.
|
||||||
print("A {s} loves all {s}es. ", .{
|
print("A {s} loves all {s}es. ", .{
|
||||||
@@ -113,15 +113,15 @@
|
@@ -102,16 +102,16 @@
|
||||||
// Please complete these 'if' statements so that the field
|
// Please complete these 'if' statements so that the field
|
||||||
// name will not be printed if the field is of type 'void'
|
// name will not be printed if the field is of type 'void'
|
||||||
// (which is a zero-bit type that takes up no space at all!):
|
// (which is a zero-bit type that takes up no space at all!):
|
||||||
- if (fields[0].??? != void) {
|
- if (field_???[???] != void) {
|
||||||
+ if (fields[0].type != void) {
|
- print(" {s}", .{field_???[???]});
|
||||||
print(" {s}", .{fields[0].name});
|
+ if (field_types[0] != void) {
|
||||||
|
+ print(" {s}", .{field_names[0]});
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (fields[1].??? != void) {
|
- if (field_???[???] != void) {
|
||||||
+ if (fields[1].type != void) {
|
- print(" {s}", .{field_???[???]});
|
||||||
print(" {s}", .{fields[1].name});
|
+ if (field_types[1] != void) {
|
||||||
|
+ print(" {s}", .{field_names[1]});
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (fields[2].??? != void) {
|
- if (field_???[???] != void) {
|
||||||
+ if (fields[2].type != void) {
|
- print(" {s}", .{field_???[???]});
|
||||||
print(" {s}", .{fields[2].name});
|
+ if (field_types[2] != void) {
|
||||||
|
+ print(" {s}", .{field_names[2]});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Yuck, look at all that repeated code above! I don't know
|
||||||
|
|||||||
Reference in New Issue
Block a user