# Control Structures - Second Style¶

In this chapter we are going to learn about the second style of control structures provided by the Ring programming language.

## Branching¶

• If Statement

Syntax:

if Expression
Block of statements
elseif Expression
Block of statements
else
Block of statements
end


Example:

put "
---------
(1) Say Hello
(3) Exit

" get nOption

if nOption = 1  put "Enter your name : " get name put "Hello " + name + nl
elseif nOption = 2 put "Sample : using if statement" + nl
elseif nOption = 3 bye
else put "bad option..." + nl
end

• Switch Statement

Syntax:

switch Expression
case Expression
Block of statements
else
Block of statements
end


Example:

Put "
---------
(1) Say Hello
(3) Exit

" Get nOption

Switch nOption
Case 1 Put "Enter your name : " Get name Put "Hello " + name + nl
Case 2 Put "Sample : using switch statement" + nl
Case 3 Bye
Else Put "bad option..." + nl
End


## Looping¶

• While Loop

Syntax:

while Expression
Block of statements
end


Example:

While True

Put "
---------
(1) Say Hello
(3) Exit

" Get nOption

Switch nOption
Case 1
Put "Enter your name : "
Get name
Put "Hello " + name + nl
Case 2
Put "Sample : using while loop" + nl
Case 3
Bye
Else
End
End

• For Loop

Syntax:

for identifier=expression to expression [step expression]
Block of statements
end


Example:

# print numbers from 1 to 10
for x = 1 to 10  put x + nl  end


Example:

# Dynamic loop
Put "Start : " get nStart
Put "End   : " get nEnd
Put "Step  : " get nStep
For x = nStart to nEnd Step nStep
Put x + nl
End


Example:

# print even numbers from 0 to 10
for x = 0 to 10 step 2
Put x + nl
end


Example:

# print even numbers from 10 to 0
for x = 10 to 0 step -2
put x + nl
end

• For in Loop

Syntax:

for identifier in List/String  [step expression]
Block of statements
end


Example:

aList = 1:10    # create list contains numbers from 1 to 10
for x in aList  put x + nl  end  # print numbers from 1 to 10


## Exceptions¶

try
Block of statements
catch
Block of statements
end