➰Loops

Gauntlet supports two types of loops

break and continue are supported

1. For-loops

Syntax for-loop (traditional style)

for let <varPattern> = <expr>; <terminal expr>; <expr run after every iteration> {
    <loop body>
} 

Working Example

package main

import "fmt" as fmt

fun Unit main() {
  fmt.println("Counting to 10...")
  for let a = 1; a <= 10; a++ {
    fmt.println(a)
  }
  fmt.println("Done!")
}

Syntax for for-loop (shorthand style)

for let <varPattern> in <iterable> {
    <loop body>
}

Working Example

package main

import "fmt" as fmt

fun Unit main() {
  fmt.println("Iterating through every letter in the word 'Hello'")
  for let _, c in "Hello" {
    fmt.println((String)(c))
  }
  fmt.println("Done!")
}

2. While-loops

While-loop syntax:

for <terminal expr> {
    <loop body>
}

Working Example

package main

import "fmt" as fmt

fun Unit main() {
  fmt.println("The program will terminate if you say the magic word...")
  
  let magicWord = "please"
  zero String input
  
  while input != magicWord {
    fmt.println("What's the magic word?")
    fmt.scan(&input)
  }
  fmt.println("You said it!")
}

Last updated