kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

103_return_control_expressions.toy (492B)


      1 fn from_if(x: i64): i64 {
      2   return if x {
      3     40
      4   } else {
      5     2
      6   };
      7 }
      8 
      9 fn from_switch(x: i64): i64 {
     10   return switch x {
     11     0 {
     12       10
     13     }
     14     default {
     15       42
     16     }
     17   };
     18 }
     19 
     20 fn from_while(): i64 {
     21   var i: i64 = 0;
     22   return outer: while<i64> i < 4 {
     23     if i == 2 {
     24       break outer 42;
     25     }
     26     i = i + 1;
     27     continue outer;
     28   } else {
     29     0
     30   };
     31 }
     32 
     33 fn __user_main(): i64 {
     34   return from_if(1) + from_switch(1) + from_while();
     35 }
     36 
     37 fn main(): i32 { return __user_main() as i32; }