From 9844123dd1b3cdc0c1a94602eb3569a9119cccae Mon Sep 17 00:00:00 2001 From: Chris Boesch Date: Thu, 14 Mar 2024 23:37:14 +0100 Subject: Improved the explanation about passing arguments and added an example. --- exercises/051_values.zig | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'exercises') diff --git a/exercises/051_values.zig b/exercises/051_values.zig index f2653f9..4e98d8e 100644 --- a/exercises/051_values.zig +++ b/exercises/051_values.zig @@ -141,9 +141,20 @@ pub fn main() void { // // Moving along... // - // Passing arguments to functions is pretty much exactly like - // making an assignment to a const (since Zig enforces that ALL - // function parameters are const). + // When arguments are passed to a function, + // they are ALWAYS passed as constants within the function, + // regardless of how they were declared in the calling function. + // + // Example: + // fn foo(arg: u8) void { + // arg = 42; // Error, 'arg' is const! + // } + // + // fn bar() void { + // var arg: u8 = 12; + // foo(arg); + // ... + // } // // Knowing this, see if you can make levelUp() work as expected - // it should add the specified amount to the supplied character's -- cgit v1.2.3-70-g09d2