summaryrefslogtreecommitdiffstatshomepage
path: root/exercises/18_functions.zig
diff options
context:
space:
mode:
authorDave Gauer <dave@ratfactor.com>2021-02-09 18:36:57 -0500
committerDave Gauer <dave@ratfactor.com>2021-02-09 18:36:57 -0500
commit55ad7c32f2d534b1fbd438204d21738f958c51a5 (patch)
tree16be4b53193105a759b3eec25be5e664d41c428d /exercises/18_functions.zig
parentcf0920de31e9b5f3c5ba6de19a1b4c8d0c58b907 (diff)
Moved exercises to exercises because exercises
Diffstat (limited to 'exercises/18_functions.zig')
-rw-r--r--exercises/18_functions.zig34
1 files changed, 34 insertions, 0 deletions
diff --git a/exercises/18_functions.zig b/exercises/18_functions.zig
new file mode 100644
index 0000000..bda90cd
--- /dev/null
+++ b/exercises/18_functions.zig
@@ -0,0 +1,34 @@
+//
+// Functions! We've already seen a lot of one called "main()". Now let's try
+// writing one of our own:
+//
+// fn foo(n: u8) u8 {
+// return n+1;
+// }
+//
+// The foo() function above takes a number "n" and returns a number that is
+// larger by one.
+//
+// If your function doesn't take any parameters and doesn't return anything,
+// it would be defined like main():
+//
+// fn foo() void { }
+//
+const std = @import("std");
+
+pub fn main() void {
+ // The new function deepThought() should return the number 42. See below.
+ const answer: u8 = deepThought();
+
+ std.debug.print("Answer to the Ultimate Question: {}\n", .{answer});
+}
+
+//
+// Please define the deepThought() function below.
+//
+// We're just missing a couple things. One thing we're NOT missing is the
+// keyword "pub", which is not needed here. Can you guess why?
+//
+??? deepThought() ??? {
+ return 42; // Number courtesy Douglas Adams
+}