Browse Source

Add remaining patch files

Will Clardy 4 years ago
parent
commit
bbe93b1f12
43 changed files with 263 additions and 43 deletions
  1. 12 1
      patches/patches/03_assignment.patch
  2. 12 1
      patches/patches/04_arrays.patch
  3. 8 1
      patches/patches/05_arrays2.patch
  4. 12 1
      patches/patches/06_strings.patch
  5. 8 1
      patches/patches/07_strings2.patch
  6. 14 1
      patches/patches/08_quiz.patch
  7. 4 1
      patches/patches/09_if.patch
  8. 4 1
      patches/patches/10_if2.patch
  9. 4 1
      patches/patches/11_while.patch
  10. 4 1
      patches/patches/12_while2.patch
  11. 6 1
      patches/patches/13_while3.patch
  12. 4 1
      patches/patches/14_while4.patch
  13. 4 1
      patches/patches/15_for.patch
  14. 4 1
      patches/patches/16_for2.patch
  15. 16 1
      patches/patches/17_quiz2.patch
  16. 4 1
      patches/patches/18_functions.patch
  17. 4 1
      patches/patches/19_functions2.patch
  18. 18 1
      patches/patches/20_quiz3.patch
  19. 8 1
      patches/patches/21_errors.patch
  20. 4 1
      patches/patches/22_errors2.patch
  21. 8 1
      patches/patches/23_errors3.patch
  22. 10 1
      patches/patches/24_errors4.patch
  23. 4 1
      patches/patches/25_errors5.patch
  24. 4 1
      patches/patches/26_hello2.patch
  25. 4 1
      patches/patches/27_defer.patch
  26. 4 1
      patches/patches/28_defer2.patch
  27. 4 1
      patches/patches/29_errdefer.patch
  28. 2 1
      patches/patches/30_switch.patch
  29. 2 1
      patches/patches/31_switch2.patch
  30. 2 1
      patches/patches/32_unreachable.patch
  31. 2 1
      patches/patches/33_iferror.patch
  32. 8 1
      patches/patches/34_quiz4.patch
  33. 4 1
      patches/patches/35_enums.patch
  34. 12 1
      patches/patches/36_enums2.patch
  35. 4 1
      patches/patches/37_structs.patch
  36. 7 1
      patches/patches/38_structs2.patch
  37. 4 1
      patches/patches/39_pointers.patch
  38. 4 1
      patches/patches/40_pointers2.patch
  39. 4 1
      patches/patches/41_pointers3.patch
  40. 4 1
      patches/patches/42_pointers4.patch
  41. 4 1
      patches/patches/43_pointers5.patch
  42. 4 1
      patches/patches/44_quiz5.patch
  43. 4 1
      patches/patches/45_optionals.patch

+ 12 - 1
patches/patches/03_assignment.patch

@@ -1 +1,12 @@
-
+37c37
+<     const n: u8 = 50;
+---
+>     var n: u8 = 50;
+40c40
+<     const pi: u8 = 314159;
+---
+>     const pi: u32 = 314159;
+42c42
+<     const negative_eleven: u8 = -11;
+---
+>     const negative_eleven: i8 = -11;

+ 12 - 1
patches/patches/04_arrays.patch

@@ -1 +1,12 @@
-
+30c30
+<     const some_primes = [_]u8{ 1, 3, 5, 7, 11, 13, 17, 19 };
+---
+>     var some_primes = [_]u8{ 1, 3, 5, 7, 11, 13, 17, 19 };
+43c43
+<     const fourth = some_primes[???];
+---
+>     const fourth = some_primes[3];
+47c47
+<     const length = some_primes.???;
+---
+>     const length = some_primes.len;

+ 8 - 1
patches/patches/05_arrays2.patch

@@ -1 +1,8 @@
-
+23c23
+<     const leet = ???;
+---
+>     const leet = le ++ et;
+28c28
+<     const bit_pattern = [_]u8{ ??? } ** 3;
+---
+>     const bit_pattern = [_]u8{ 1, 0, 0, 1 } ** 3;

+ 12 - 1
patches/patches/06_strings.patch

@@ -1 +1,12 @@
-
+22c22
+<     const d: u8 = ziggy[???];
+---
+>     const d: u8 = ziggy[4];
+26c26
+<     const laugh = "ha " ???;
+---
+>     const laugh = "ha " ** 3;
+33c33
+<     const major_tom = major ??? tom;
+---
+>     const major_tom = major ++ " " ++ tom;

+ 8 - 1
patches/patches/07_strings2.patch

@@ -1 +1,8 @@
-
+18,20c18,20
+<         Ziggy played guitar
+<         Jamming good with Andrew Kelley
+<         And the Spiders from Mars
+---
+>         \\Ziggy played guitar
+>         \\Jamming good with Andrew Kelley
+>         \\And the Spiders from Mars

+ 14 - 1
patches/patches/08_quiz.patch

@@ -1 +1,14 @@
-
+16c16
+<     const x: u8 = 1;
+---
+>     var x: u8 = 1;
+27c27
+<     lang[???] = letters[x];
+---
+>     lang[1] = letters[x];
+29,30c29,30
+<     x = ???;
+<     lang[2] = letters[???];
+---
+>     x = 5;
+>     lang[2] = letters[x];

+ 4 - 1
patches/patches/09_if.patch

@@ -1 +1,4 @@
-
+26c26
+<     if (foo) {
+---
+>     if (foo == 1) {

+ 4 - 1
patches/patches/10_if2.patch

@@ -1 +1,4 @@
-
+13c13
+<     var price: u8 = if ???;
+---
+>     var price: u8 = if (discount) 17 else 20;

+ 4 - 1
patches/patches/11_while.patch

@@ -1 +1,4 @@
-
+24c24
+<     while (???) {
+---
+>     while (n < 1024) {

+ 4 - 1
patches/patches/12_while2.patch

@@ -1 +1,4 @@
-
+28c28
+<     while (n < 1000) : ??? {
+---
+>     while (n < 1000) : (n *= 2) {

+ 6 - 1
patches/patches/13_while3.patch

@@ -1 +1,6 @@
-
+27,28c27,28
+<         if (n % 3 == 0) ???;
+<         if (n % 5 == 0) ???;
+---
+>         if (n % 3 == 0) continue;
+>         if (n % 5 == 0) continue;

+ 4 - 1
patches/patches/14_while4.patch

@@ -1 +1,4 @@
-
+21c21
+<         if (???) ???;
+---
+>         if (n == 4) break;

+ 4 - 1
patches/patches/15_for.patch

@@ -1 +1,4 @@
-
+18c18
+<     for (???) |???| {
+---
+>     for (story) |scene| {

+ 4 - 1
patches/patches/16_for2.patch

@@ -1 +1,4 @@
-
+27c27
+<     for (bits) |bit, ???| {
+---
+>     for (bits) |bit, i| {

+ 16 - 1
patches/patches/17_quiz2.patch

@@ -1 +1,16 @@
-
+12c12
+< const std = import standard library;
+---
+> const std = @import("std");
+14c14
+< function main() void {
+---
+> pub fn main() void {
+19c19
+<     ??? (i <= stop_at) : (i += 1) {
+---
+>     while (i <= stop_at) : (i += 1) {
+23c23
+<             std.debug.print("{}", .{???});
+---
+>             std.debug.print("{}", .{i});

+ 4 - 1
patches/patches/18_functions.patch

@@ -1 +1,4 @@
-
+31c31
+< ??? deepThought() ??? {
+---
+> fn deepThought() u8 {

+ 4 - 1
patches/patches/19_functions2.patch

@@ -1 +1,4 @@
-
+25c25
+< fn twoToThe(???) u32 {
+---
+> fn twoToThe(my_number: u32) u32 {

+ 18 - 1
patches/patches/20_quiz3.patch

@@ -1 +1,18 @@
-
+24,25c24,25
+< fn printPowersOfTwo(numbers: [4]u16) ??? {
+<     loop (numbers) |n| {
+---
+> fn printPowersOfTwo(numbers: [4]u16) void {
+>     for (numbers) |n| {
+34c34
+< fn twoToThe(number: u16) ??? {
+---
+> fn twoToThe(number: u16) u16 {
+38c38
+<     loop (n < number) : (n += 1) {
+---
+>     while (n < number) : (n += 1) {
+42c42
+<     return ???;
+---
+>     return total;

+ 8 - 1
patches/patches/21_errors.patch

@@ -1 +1,8 @@
-
+12c12
+<     ???,
+---
+>     TooSmall,
+29c29
+<         if (???) {
+---
+>         if (number_error == MyNumberError.TooSmall) {

+ 4 - 1
patches/patches/22_errors2.patch

@@ -1 +1,4 @@
-
+22c22
+<     var my_number: ??? = 5;
+---
+>     var my_number: MyNumberError!u8 = 5;

+ 8 - 1
patches/patches/23_errors3.patch

@@ -1 +1,8 @@
-
+15c15
+<     var b: u32 = addTwenty(4) ??? 22;
+---
+>     var b: u32 = addTwenty(4) catch 22;
+22c22
+< fn addTwenty(n: u32) ??? {
+---
+> fn addTwenty(n: u32) MyNumberError!u32 {

+ 10 - 1
patches/patches/24_errors4.patch

@@ -1 +1,10 @@
-
+62c62,68
+<     return detectProblems(n) ??? 
+---
+>     return detectProblems(n) catch |err| {
+>         if (err == MyNumberError.TooSmall) {
+>             return 10;
+>         }
+> 
+>         return err;
+>     };

+ 4 - 1
patches/patches/25_errors5.patch

@@ -1 +1,4 @@
-
+29c29
+<     var x = detect(n);
+---
+>     var x = try detect(n);

+ 4 - 1
patches/patches/26_hello2.patch

@@ -1 +1,4 @@
-
+22c22
+<     stdout.print("Hello world!\n", .{});
+---
+>     try stdout.print("Hello world!\n", .{});

+ 4 - 1
patches/patches/27_defer.patch

@@ -1 +1,4 @@
-
+23c23
+<     std.debug.print("Two\n", .{});
+---
+>     defer std.debug.print("Two\n", .{});

+ 4 - 1
patches/patches/28_defer2.patch

@@ -1 +1,4 @@
-
+21c21
+<     std.debug.print(") ", .{}); // <---- how!?
+---
+>     defer std.debug.print(") ", .{}); // <---- how!?

+ 4 - 1
patches/patches/29_errdefer.patch

@@ -1 +1,4 @@
-
+35c34
+<     std.debug.print("failed!\n", .{});
+---
+>     errdefer std.debug.print("failed!\n", .{});

+ 2 - 1
patches/patches/30_switch.patch

@@ -1 +1,2 @@
-
+48a49
+>             else => std.debug.print("?", .{}),

+ 2 - 1
patches/patches/31_switch2.patch

@@ -1 +1,2 @@
-
+33a34
+>             else => '!',

+ 2 - 1
patches/patches/32_unreachable.patch

@@ -1 +1,2 @@
-
+37a38
+>             else => unreachable,

+ 2 - 1
patches/patches/33_iferror.patch

@@ -1 +1,2 @@
-
+36a37
+>             MyNumberError.TooSmall => std.debug.print("<4. ", .{}),

+ 8 - 1
patches/patches/34_quiz4.patch

@@ -1 +1,8 @@
-
+12c12
+< pub fn main() void {
+---
+> pub fn main() !void {
+15c15
+<     const my_num: u32 = getNumber();
+---
+>     const my_num: u32 = try getNumber();

+ 4 - 1
patches/patches/35_enums.patch

@@ -1 +1,4 @@
-
+23c23
+< const Ops = enum { ??? };
+---
+> const Ops = enum { dec, inc, pow };

+ 12 - 1
patches/patches/36_enums2.patch

@@ -1 +1,12 @@
-
+32c32
+<     blue = ???,
+---
+>     blue = 0x0000ff,
+54c54
+<         \\  <span style="color: #{}">Blue</span>
+---
+>         \\  <span style="color: #{x:0>6}">Blue</span>
+59c59
+<         @enumToInt(???), // Oops! We're missing something!
+---
+>         @enumToInt(Color.blue), // Oops! We're missing something!

+ 4 - 1
patches/patches/37_structs.patch

@@ -1 +1,4 @@
-
+38a39
+>     health: u8,
+46a48
+>         .health = 100,

+ 7 - 1
patches/patches/38_structs2.patch

@@ -1 +1,7 @@
-
+44a45,50
+>     chars[1] = Character{
+>         .class = Class.bard,
+>         .gold = 10,
+>         .health = 100,
+>         .experience = 20,
+>     };

+ 4 - 1
patches/patches/39_pointers.patch

@@ -1 +1,4 @@
-
+33c33
+<     num2 = ???;
+---
+>     num2 = num1_pointer.*;

+ 4 - 1
patches/patches/40_pointers2.patch

@@ -1 +1,4 @@
-
+24c24
+<     const b: *u8 = &a; // fix this!
+---
+>     const b: *const u8 = &a; // fix this!

+ 4 - 1
patches/patches/41_pointers3.patch

@@ -1 +1,4 @@
-
+34c34
+<     ??? p: ??? = undefined;
+---
+>     var p: *u8 = undefined;

+ 4 - 1
patches/patches/42_pointers4.patch

@@ -1 +1,4 @@
-
+31c31
+<     ??? = 5; // fix me!
+---
+>     x.* = 5; // fix me!

+ 4 - 1
patches/patches/43_pointers5.patch

@@ -1 +1,4 @@
-
+60c60
+<     printCharacter(???);
+---
+>     printCharacter(&glorp);

+ 4 - 1
patches/patches/44_quiz5.patch

@@ -1 +1,4 @@
-
+21a22
+>     var elephantB = Elephant{ .letter = 'B' };
+27a29
+>     elephantB.tail = &elephantC;

+ 4 - 1
patches/patches/45_optionals.patch

@@ -1 +1,4 @@
-
+32c32
+<     var answer: u8 = result;
+---
+>     var answer: u8 = result orelse 42;