aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/exercises/019_functions2.zig
diff options
context:
space:
mode:
Diffstat (limited to 'exercises/019_functions2.zig')
-rw-r--r--exercises/019_functions2.zig30
1 files changed, 30 insertions, 0 deletions
diff --git a/exercises/019_functions2.zig b/exercises/019_functions2.zig
new file mode 100644
index 0000000..00f33c5
--- /dev/null
+++ b/exercises/019_functions2.zig
@@ -0,0 +1,30 @@
+//
+// Now let's create a function that takes a parameter. Here's an
+// example that takes two parameters. As you can see, parameters
+// are declared just like any other types ("name": "type"):
+//
+// fn myFunction(number: u8, is_lucky: bool) {
+// ...
+// }
+//
+const std = @import("std");
+
+pub fn main() void {
+ std.debug.print("Powers of two: {} {} {} {}\n", .{
+ twoToThe(1),
+ twoToThe(2),
+ twoToThe(3),
+ twoToThe(4),
+ });
+}
+
+// Please give this function the correct input parameter(s).
+// You'll need to figure out the parameter name and type that we're
+// expecting. The output type has already been specified for you.
+//
+fn twoToThe(???) u32 {
+ return std.math.pow(u32, 2, my_number);
+ // std.math.pow(type, a, b) takes a numeric type and two numbers
+ // of that type and returns "a to the power of b" as that same
+ // numeric type.
+}