Nested Control Constructs

You can put control constructs in other control constructs. You can put a decision construct in a loop construct. For example, If…Else between While and End While. These control constructs are nested.

Nesting levels

You can nest control constructs without limit. To make code easier to read, we recommend that you indent each new level.

If you indent the body of each control construct, you make your code easier to read and decrease maintenance time. But, if you cannot see all your indented code on the screen, this can be an indication that you nested it too much.

The example that follows is a method to multiply two 3×3 matrixes.

Method Multiply(result(), a(), b() As Real64*2)
    Var i, j, k As Int32
    For i = 0 To 2
        For j = 0 To 2
            result(i, j) = 0
            For k = 0 To 2
                result(i, j) += a(i, k) * b(k, j)
            End For k
        End For j
    End For i
End Method

Nesting different types of control constructs

TODO

Overlap of control constructs

You cannot have overlap of part of one control construct with a different one. Each control construct must nest fully in the other. If you do not, the result is a compile-time error.

See also