Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

An if statemnt allows you to travel down multiple logical paths, depending on a condition given. If the condition given is true, the block of code associated with it will be run.

Code Block
borderStylesolid
titleif statement
borderStylesolid
i = 5
if i == 5:
    print "i is equal to 5."
No Format
bgColor#D8DDE9
titleOutput
borderStylesolid
titleOutput
i is equal to 5.
Note
titleBe careful

notice the difference between i = 5 and i == 5.
i = 5 is an assignment
i == 5 is a comparison

If you try an assignment while running a conditional, Boo will emit a warning.

...

You can have multiple code blocks within eachother as well.

Code Block
borderStylesolid
titleMultiple if statements
borderStylesolid
i = 5
if i > 0:
    print "i is greater than 0."
    if i < 10:
        print "i is less than 10."
        if i > 5:
            print "i is greater than 5."
No Format
bgColor#D8DDE9
titleOutput
borderStylesolid
titleOutput
i is greater than 0.
i is less than 10.

...

With the if statement comes the else statement. It is called when your if statement's condition is false.

Code Block
borderStylesolid
titleif-else statement
borderStylesolid
i = 5
if i > 5:
    print "i is greater than 5."
else:
    print "i is less than or equal to 5."
No Format
bgColor#D8DDE9
titleOutput
borderStylesolid
titleOutput
i is less than or equal to 5.

...

Now if you want to check for a condition after your if is false, that is easy as well. This is done through the elif statement.

Code Block
borderStylesolid
titleif-elif-else statement
borderStylesolid
i = 5
if i > 5:
    print "i is greater than 5."
elif i == 5:
    print "i is equal to 5."
elif i < 5:
    print "i is less than 5."
No Format
bgColor#D8DDE9
titleOutput
borderStylesolid
titleOutput
i is equal to 5.

You can have one if, any number of elif s, and an optional else .

...

The unless statement is handy if you want a readable way of checking if a condition is not true.

Code Block
borderStylesolid
titleunless statement
borderStylesolid
i = 5
unless i == 5:
    print "i is not equal to 5."
No Format
bgColor#D8DDE9
titleOutput
borderStylesolid
titleOutput

It didn't output because i was equal to 5 in that case.

...

Like in Ruby and Perl, you can follow a statement with a modifier.

Code Block
borderStylesolid
titleStatement with modifier
borderStylesolid
i = 0
print i
i = 5 if true
print i
i = 10 unless true
print i
No Format
bgColor#D8DDE9
titleOutput
borderStylesolid
titleOutput
0
5
5
Tip
titleRecommendation

Don't use Statement with Modifier on a long line. In that case, you should just create a code block.
A good rule of thumb is to not use it if the statement is more than 3 words long.
This will keep your code readable and beautiful.

...

To check if a condition is not true, you would use not.

Code Block
borderStylesolid
titlenot condition
borderStylesolid
i = 0
if not i > 5:
    print 'i is not greater than 5'
No Format
bgColor#D8DDE9
titleOutput
borderStylesolid
titleOutput
i is not greater than 5

Combining Conditions
Anchor
Combining Conditions
Combining Conditions

To check more than one condition, you would use and or or. Use parentheses ( ) to change the order of operations.

Code Block
borderStylesolid
titlecombining conditions
borderStylesolid
i = 5
if i > 0 and i < 10:
    print "i is between 0 and 10."
if i < 3 or i > 7:
    print "i is not between 3 and 7."
if (i > 0 and i < 3) or (i > 7 and i < 10):
    print "i is either between 0 and 3 or between 7 and 10."

Note that and requires that both comparisons are true, while or requires that only one is true or both are true.

No Format
bgColor#D8DDE9
titleOutput
borderStylesolid
titleOutput
i is between 0 and 10.

Exercises
Anchor
Exercises
Exercises

...