|
|
|
@ -25,7 +25,7 @@ pub fn main() void {
|
|
|
|
|
var b: u32 = makeJustRight(14) catch 0;
|
|
|
|
|
var c: u32 = makeJustRight(4) catch 0;
|
|
|
|
|
|
|
|
|
|
std.debug.print("a={}, b={}, c={}", .{a,b,c});
|
|
|
|
|
std.debug.print("a={}, b={}, c={}", .{ a, b, c });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// In this silly example we've split the responsibility of making
|
|
|
|
@ -37,7 +37,9 @@ pub fn main() void {
|
|
|
|
|
// detectProblems() Returns the number or an error.
|
|
|
|
|
//
|
|
|
|
|
fn makeJustRight(n: u32) MyNumberError!u32 {
|
|
|
|
|
return fixTooBig(n) catch |err| { return err; };
|
|
|
|
|
return fixTooBig(n) catch |err| {
|
|
|
|
|
return err;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn fixTooBig(n: u32) MyNumberError!u32 {
|
|
|
|
@ -65,4 +67,3 @@ fn detectProblems(n: u32) MyNumberError!u32 {
|
|
|
|
|
if (n > 20) return MyNumberError.TooBig;
|
|
|
|
|
return n;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|