fn simple_range() int { mut sum := 0 for i in 0 .. 5 { sum += i } return sum } fn negative_range() int { mut sum := 0 for i in -99 .. -2 { sum += i } return sum } fn inverted_range() int { mut sum := 0 // Should be skipped for i in 5 .. 0 { sum += i } return sum } fn range_with_string() int { strc := 'This is a test!' mut sum := 0 for i in 0 .. strc.len { sum += i } return sum } fn range_with_expr() int { start := 2 end := 7 mut sum := 0 for i in start .. end { sum += i } return sum } fn range_dual() int { a := 128 mut sum := 0 for i in 0 .. a { sum += i for j in -20 .. a { sum += j } } return sum } fn for_in_item() { a := ['a', 'b', 'c']! b := 'This a string' c := [1, 2, 3, 5]! d := 42 hard := [[[[1, 2, 3, 4]!]!]!]! hard_2 := [[[[1, d, d, 4]!]!]!]! println('a ----') for element in a { println(element) } println('b ----') for character in b { println(character) } println('hard ----') for i in hard { for j in i { for k in j { for element in k { println(element) } } } } println('hard_2 ----') for i in hard_2 { for j in i { for k in j { for element in k { println(element) } } } } println('c ----') for element in c { println(element) } println('counter ----') mut i := 0 for _ in c { i++ } println(i) } fn main() { println('--- inverted_range()') println(inverted_range()) println('--- negative_range()') println(negative_range()) println('--- simple_range()') println(simple_range()) println('--- range_with_string()') println(range_with_string()) println('--- range_with_expr()') println(range_with_expr()) println('--- range_dual()') println(range_dual()) println('--- for_in_item()') for_in_item() // Currently, the backend doesn't support maps, list etc. iteration is not possible }